Я пытаюсь запустить параметризованные тесты ... Пытался реализовать это так, как здесь объяснено: http://docs.flexunit.org/index.php?title=Parameterized_Test_Styles
Вот как выглядит мой тестовый пример
import org.flexunit.runners.Parameterized;
[RunWith("org.flexunit.runners.Parameterized")]
public class ArrayBasedStackTests
{
[Paremeters]
public static var stackProvider:Array = [new ArrayBasedStack(), new LinkedListBasedStack()] ;
private var _stack:IStack;
public function ArrayBasedStackTests(param:IStack)
{
_stack = param;
}
[Before]
public function setUp():void
{
}
[After]
public function tearDown():void
{
}
[Test ( description = "Checks isEmpty method of the stack. For empty stack", dataProvider="stackProvider" )]
public function isEmptyStackPositiveTest():void
{
var stack:IStack = _stack;
assertEquals( true, stack.isEmpty() );
}
Ноэтот код генерирует следующую ошибку инициализации:
Ошибка: пользовательский класс бегуна org.flexunit.runners.Parameterized должен быть связан с проектом и реализовать IRunner.Кроме того, он должен иметь конструктор, который либо просто принимает класс, либо класс и конструктор.
Нужна помощь, чтобы исправить это
UPDATE
I 'Мы обновили код, чтобы он выглядел следующим образом
[RunWith("org.flexunit.runners.Parameterized")]
public class ArrayBasedStackTests
{
private var foo:Parameterized;
[Parameters]
public static function stacks():Array
{
return [ [new ArrayBasedStack()], [new LinkedListBasedStack()] ] ;
}
[Before]
public function setUp():void
{
}
[After]
public function tearDown():void
{
}
[Test ( description = "Checks isEmpty method of the stack. For empty stack", dataProvider="stacks")]
public function isEmptyStackPositiveTest(stack:IStack):void
{
assertEquals( true, _stack.isEmpty() );
}
Работает.Но результат немного странный.У меня выполнено 4 теста вместо 2. (У меня есть 2 элемента в поставщике данных, поэтому я не могу понять, почему у меня 4 теста).
Вывод
http://screencast.com/t/G8DHbcjDUkJ