0

奇妙な 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
4

1 に答える 1

1

皮肉なことに、実際の問題は実際には StackOverflow であると考えて、これはここに投稿されています。

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

バグに記載されている回避策を使用するか、この動作は FlexUnit 4.1 ベータ版で修正されています。FlexUnit 4.1 ベータ版は flexunit.org ダウンロード ページにあります。

4.1 のリリース バージョンは間もなくリリースされます。

問題は、フレームワークが強制的に次のフレームまで待機する前に、マシンが 1 つの余分なテストを取得するのに十分な速度であることです。Flash Player は、スタックの深さが深くなり、不適切な場所で try catch に引っかかるとスタック オーバーフローをスローし、続いて 'Whoa' ステートメントを追跡します。

FlexUnit 4.x では元々、これにカウンターとおおよそのフレーム長を使用していましたが、非常にまれに、テストよりもマシンにリンクしていることが原因で、これが発生する可能性がありました。4.1 では、フレームが通過するのを実際に監視しているため、この問題は完全に解消されます。

マイク

于 2010-06-17T14:52:50.030 に答える