Ошибка FlexUnit 4

Я столкнулся со странной ошибкой FlexUnit:

Вау... меня попросили отправить еще один комплект, и я уже это сделал

Ошибка возникает, когда количество тестов превышает 27...? (тесты никогда не заканчиваются)

тестовый пример:

[Test]
public function whenDoingThat_expectThatIsTrue():void{
      //blabla      
      assertTrue(...)
}

Приветствуется любая помощь!

Вот пример:

core = new FlexUnitCore();
core.addListener(new TraceListener());
core.run(FooTest);


import org.flexunit.asserts.assertTrue;

public class FooTest {
    [Test]
    public function foo_test_1() : void {
        assertTrue(true);
    }
    [Test]
    public function foo_test_2() : void {
        assertTrue(true);
    }

    ...

    [Test]
    public function foo_test_28() : void {
        assertTrue(true);
    }
    //[Test]
    public function foo_test_29() : void {
        assertTrue(true);
    }
}

результат:

foo_test_9 .
foo_test_17 .
foo_test_3 .
foo_test_18 .
foo_test_4 .
foo_test_19 .
foo_test_5 .
foo_test_6 .
foo_test_20 .
foo_test_21 .
foo_test_7 .
foo_test_22 .
foo_test_8 .
foo_test_23 .
foo_test_2 .
foo_test_24 .
foo_test_10 .
foo_test_25 .
foo_test_11 .
foo_test_26 .
foo_test_12 .
foo_test_27 .
foo_test_13 .
foo_test_28 .
foo_test_14 .
foo_test_15 .
foo_test_1 .
foo_test_16 .
Whoa... been asked to send another complete and I already did that

person OXMO456    schedule 17.06.2010    source источник


Ответы (1)


По иронии судьбы, это размещено здесь, учитывая, что реальная проблема на самом деле является StackOverflow:

https://bugs.adobe.com/jira/browse/FXU-112

Вы можете использовать обходной путь, упомянутый в ошибке, или это поведение исправлено в бета-версии FlexUnit 4.1, которую можно найти на странице загрузки flexunit.org.

Релизная версия 4.1 появится очень скоро.

Проблема в том, что ваша машина достаточно быстра, чтобы выполнить один дополнительный тест, прежде чем фреймворк заставит ее ждать следующего кадра. Flash Player вызывает переполнение стека, когда глубина стека становится слишком большой, и он перехватывается при попытке перехвата в неподходящем месте, а затем отслеживает оператор «Вау».

Во FlexUnit 4.x изначально мы использовали для этого счетчик и приблизительную длину кадра, что в очень редких случаях могло допустить, что это больше связано с машиной, чем с тестами. В версии 4.1 мы фактически отслеживаем проходящие кадры, что должно навсегда устранить эту проблему.

Майк

person Labriola    schedule 17.06.2010