Strange behaviour when running parameterized test
Hello,
I am using Flex 4.5 and FlexUnit 4.1 inside of the Flashdevelop IDE and I am experiencing some very strange behaviour.
If I have 5 parameters to my test the test runs fine. When I add a sixth parameter of the type Array, I get the following error:
"TypeError: Error #1009: Cannot access a property or method of a null object reference."
Please see below for my example code.
The following parameterized test case runs without a problem:
package {
import org.flexunit.runners.Parameterized;
[RunWith('org.flexunit.runners.Parameterized')]
public class ParameterizedTest {
[Parameters]
public static var testData:Array = [
[1,1,new Array(),1,1]
];
public function ParameterizedTest(
param1:uint,
param2:uint,
param3:Array,
param4:uint,
param5:uint
):void {
}
[Test]
public function testOne():void {
// Test to go here.
}
}
}
When I add an Array as the sixth parameter :
package {
import org.flexunit.runners.Parameterized;
[RunWith('org.flexunit.runners.Parameterized')]
public class ParameterizedTest {
[Parameters]
public static var testData:Array = [
[1,1,new Array(),1,1,new Array()]
];
public function ParameterizedTest(
param1:uint,
param2:uint,
param3:Array,
param4:uint,
param5:uint,
param6:Array
):void {
}
[Test]
public function testOne():void {
// Test to go here.
}
}
}
I get this error :
com.berog.proj_drum_machine.tests.matrix_test_suite.test_cases::MatrixConstructorTest.testOne (1,1,,1,1,) .
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at flex.lang.reflect::Constructor/newInstanceApply()
at TestClassRunnerForParameters/createTest()
at org.flexunit.runners::BlockFlexUnit4ClassRunner/methodBlock()
at org.flexunit.runners::BlockFlexUnit4ClassRunner/runChild()
at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()
at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()
at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()
at org.flexunit.runners::ParentRunner/run()
at org.flexunit.runners::Parameterized/runChild()
at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()
at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()
at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()
at org.flexunit.runners::ParentRunner/run()
at org.flexunit.runners::Suite/runChild()
at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()
at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()
at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()
at org.flexunit.runners::ParentRunner/run()
at org.flexunit.runners::Suite/runChild()
at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()
at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()
at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()
at org.flexunit.runners::ParentRunner/run()
at org.flexunit.runner::FlexUnitCore/beginRunnerExecution()
at org.flexunit.runner::FlexUnitCore/runRunner()
at org.flexunit.runner::FlexUnitCore/runRequest()
at org.flexunit.runner::FlexUnitCore/runClasses()
at Function/http://adobe.com/AS3/2006/builtin::apply()
at org.flexunit.runner::FlexUnitCore/run()
at com.berog.proj_drum_machine.tests::TestMain()
com.berog.proj_drum_machine.tests.matrix_test_suite.test_cases::MatrixConstructorTest.testOne (1,1,,1,1,) E
Time: 0.013
There was 1 failure:
1 com.berog.proj_drum_machine.tests.matrix_test_suite.test_cases::MatrixConstructorTest.testOne (1,1,,1,1,) TypeError: Error #1009: Cannot access a property or method of a null object reference.
at flex.lang.reflect::Constructor/newInstanceApply()
at TestClassRunnerForParameters/createTest()
at org.flexunit.runners::BlockFlexUnit4ClassRunner/methodBlock()
at org.flexunit.runners::BlockFlexUnit4ClassRunner/runChild()
at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()
at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()
at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()
at org.flexunit.runners::ParentRunner/run()
at org.flexunit.runners::Parameterized/runChild()
at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()
at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()
at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()
at org.flexunit.runners::ParentRunner/run()
at org.flexunit.runners::Suite/runChild()
at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()
at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()
at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()
at org.flexunit.runners::ParentRunner/run()
at org.flexunit.runners::Suite/runChild()
at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()
at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()
at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()
at org.flexunit.runners::ParentRunner/run()
at org.flexunit.runner::FlexUnitCore/beginRunnerExecution()
at org.flexunit.runner::FlexUnitCore/runRunner()
at org.flexunit.runner::FlexUnitCore/runRequest()
at org.flexunit.runner::FlexUnitCore/runClasses()
at Function/http://adobe.com/AS3/2006/builtin::apply()
at org.flexunit.runner::FlexUnitCore/run()
at com.berog.proj_drum_machine.tests::TestMain()
FAILURES!!! Tests run: 1, 1 Failures:
Can anyone help me?
