3

Flex Unit4Suiteを使用したい。

ユニットテストの経験はあまりありません。

ターンキープロジェクトをダウンロードしましたが、少し圧倒されました。

基本的には、単純なhelloworldユニットテストを作成することから始めたいと思います。

MyClass2つのメソッドsquare()とで呼び出されるクラスがある場合cube()

そして、私は次のような単体テストを作成したいと思います。

public class MyTest 
{
    public function testMyClass():void
    {
        var myClass:MyClass = new MyClass();

        assert(myClass.square(7) == 49);
        assert(myClass.cube(7) == 343);
        assert(myClass.square(5) == 50); // should fail
    }
}

どうすればこれを機能させることができますか?

4

2 に答える 2

1

Flexプロジェクトに新しいアプリケーションを追加します-「UnitTest.mxml」という接尾辞を付けて名前を付けます。TestRunnerBaseへの参照を追加し、creationCompleteでTestRunnerBaseを開始します。これで始められるはずです:

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:flexunit="flexunit.flexui.*" creationComplete="init();"><mx:Script>
  <![CDATA[

        import flexunit.framework.TestSuite;
  import FlexUnit.*;

  private function init():void{
   test.test = initSuite();
   test.startTest();
  }

  private function initSuite():TestSuite{
   var suite:TestSuite = new TestSuite();
   suite.addTestSuite(testMyClass);
   return suite;
  }
  ]]>
 </mx:Script>
 <flexunit:TestRunnerBase id="test" width="100%" height="100%" />
</mx:Application>
于 2010-10-18T21:27:52.247 に答える
1

問題は、テストが実行されていないことです。ある時点で、どこかで、テスト結果が合格か不合格かにかかわらず、テスト結果が表示されるはずです。

私は個人的にASUnitを使用しています。先日、Flexプロジェクトに参加していたとき(FlexプロジェクトでASUnitを初めて使用したとき)、コンパイルボタンを押したときに、アプリケーションを起動するかどうか、または起動するかどうかを尋ねられました。代わりに、ASUnitテストランナーを起動します。

そうです、adamcodesが提案したように、テストは何らかの方法で手動で呼び出す必要があります。

于 2010-10-19T15:26:49.143 に答える