ASUnit

ソースコード / ライセンス / ドキュメント / ASDoc

ASUnit

ASUnitはActionScript?2とActionScript?3共通で使える、ユニットテストフレームワークです。JUnit3.8をベースに作られているので、誰でも簡単に使い始めることが出来ます。

最新情報

  • 2006.05.09 ASUnit 1.01 をリリースしました。

ダウンロード

導入方法

Flex Builder 2 (ActionScript?3)の場合

  1. Flex Builder上で、ASUnitを使用したいプロジェクトを開くか、作成します。
  2. プロジェクトのプロパティを表示し、「ActionScript? ビルドパス」内の「ライブラリパス」タブを開きます。
  3. 「SWCの追加」をクリックし、表示されたダイアログ内で、ダウンロードした「asunit-xxx.swc」(xxxはバージョン)を指定して追加します。
  4. 「OK」を押して設定を保存すれば完了です。これでASUnit(org.libspark.asunitパッケージ)が使えるようになります。

Flash8(ActioScript?2)の場合

  1. ダウンロードした「asunit-xxx-as2.zip」(xxxはバージョン)を適当な場所に解凍します。
  2. Flashを起動し、[編集] - [環境設定] - [ActionScript?] - [ActionScript?2.0設定] の順に進みます。
  3. クラスパスに、先程解凍したファイルの src フォルダを指定します。
  4. 「OK」を押して設定を保存すれば完了です。これでASUnit(org.libspark.asunitパッケージ)が使えるようになります。

必要な環境

ファーストステップ

ファーストステップでは、引数の値を合計して返すCalculator#addメソッドをASUnitを用いたテスト駆動で実装する手順を紹介します。ここではActionScript?3を用いますが、ActionScript?2でも書き方が少し違うだけです。

テストを作ります。TestCase?クラスを継承し、テストメソッドは「test~」という名前にします。assertを使用して値のチェックをします。

package
{
    import org.libspark.asunit.framework.TestCase;
    
    public class ClaculatorTest extends TestCase
    {
        public function testAdd():void
        {
            var calc:Calculator = new Calculator();
            assertEquals(3, calc.add(1, 2));
        }
    }
}

テスト対象のクラスを作ります。

package
{
    public class Calculator
    {
        public function add(a:Number, b:Number):Number
        {
            return 0;
        }
    }
}

テストを実行するためのメインクラスを作ります。

package
{
    import flash.display.Sprite;
    import org.libspark.asunit.framework.TestSuite;
    import org.libspark.asunit.textui.TestRunner;
    
    public class Main extends Sprite
    {
        public function Main()
        {
            TestRunner.run(new TestSuite(CalculatorTest));
        }
    }
}

テストを実行し、失敗する事を確認します。

.E
Time: 0.031
There was 1 failure:
1) add(CalculatorTest)
Error: expected:<3> but was:<0>
	at ...

FAILURES!!!!
Tests run: 1, Failure: 1

テストが通るように実装をします。

package
{
    public class Calculator
    {
        public function add(a:Number, b:Number):Number
        {
            return a + b;
        }
    }
}

再度テストを実行し、成功する事を確認します。

.
Time: 0.006

OK (1 test)

更に詳しい使い方はドキュメントをご覧下さい。