ソースコード / ライセンス / ドキュメント / ASDoc
AS3Unit
AS3UnitはActionScript?3.0上で単体テストを行うためのフレームワークで、JUnit4の移植です。ActionScript?3.0の新機能であるネームスペースを用いる事で、POJOによるテストケースの記述を可能にしました。
AS3Unitを用いる事で、効率よくテスト駆動開発を行うことが出来るようになります。
最新情報
- 2008.04.23 AS3Unit for Async 1.2 をリリースしました。
- 2008.04.15 AS3Unit 1.2 FlexSDK3 対応版をリリースしました。
- 2007.09.17 AS3Unit 1.2 をリリースしました。リリースノートはこちら
- 2007.04.04 AS3Unit 1.2-beta1 をリリースしました。リリースノートはこちら
- 2006.05.09 AS3Unit 1.01 をリリースしました。
ダウンロード
AS3Unit 安定版
- AS3Unit 1.2 (as3unit-1.2.swc)
- AS3Unit 1.2 for FlexSDK3 (as3unit-1.2-sdk3.swc)
- AS3Unit 1.2 GUI (as3unit-1.2-gui.air)
- AS3Unit 1.2 for FlashCS3 Windows (as3unit-1.2-win.mxp)
- AS3Unit 1.2 for FlashCS3 Mac (as3unit-1.2-mac.mxp)
- AS3Unit 1.2 ソースコード (as3unit-1.2-src.zip)
AS3Unit for Async (beta)
- AS3Unit for Async 1.2 (as3unit-1.2-async.swc)
- AS3Unit for Async 1.2 for FlashCS3 Windows (as3unit-win.mxp)
- AS3Unit for Async 1.2 for FlashCS3 Mac (as3unit-mac.mxp)
- AS3Unit for Async 1.2 ソースコード (as3unit-1.2-async-src.zip)
- 非同期処理のテストについてはこちらをご覧下さい
過去のバージョン
導入方法
Flex Builder の場合
- Flex Builder上で、AS3Unitを使用したいプロジェクトを開くか、作成します。
- プロジェクトのプロパティを表示し、「ActionScript? ビルドパス」内の「ライブラリパス」タブを開きます。
- 「SWCの追加」をクリックし、表示されたダイアログ内で、ダウンロードした「as3unit-xxx.swc」(xxxはバージョン)を指定して追加します。
- 「OK」を押して設定を保存すれば完了です。これでAS3Unit(org.libspark.as3unitパッケージ)が使えるようになります。
FlashCS3 の場合
- Adobe Extension Manager のインストールが済んでいない場合、インストールします。
- 使用しているOSにあわせて、「as3unit-1.2-win.mxp」または「as3unit-1.2-mac.mxp」をダウンロードします。
- ダウンロードしたmxpを実行します。この時、FlashCS3のConfigurationディレクトリの場所(標準でWindowsは「C: /Program Files/Adobe/Adobe Flash CS3/ja/Configuration」Macは「/Applications/Adobe Flash CS3/Configuration」です)を聞かれますので選択してください。
- インストールが無事完了すれば、FlashCS3でAS3Unit(org.libspark.as3unitパッケージ)が使えるようになります。
AS3Unit コンポーネント
AS3Unit 1.2 から、Flex用のAS3Unitコンポーネントが追加されました。これを使用すると、AS3Unit GUIを使用しなくても、グラフィカルに結果を表示出来ます。
AS3Unitコンポーネントを使用するには、次のようなFlexアプリケーションを作成します。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:as3unit="org.libspark.as3unit.components.*"
layout="absolute"
creationComplete="creationCompleteHandler()">
<mx:Script>
<![CDATA[
import your.domain.AllTests
private function creationCompleteHandler():void
{
as3unit.run(AllTests);
}
]]>
</mx:Script>
<as3unit:AS3Unit id="as3unit"/>
</mx:Application>
org.libspark.as3unit.components.*をターゲットとしたネームスペースを作成し、それを利用してAS3Unitコンポーネントを配置してください。後は、AS3UnitCore(ファーストステップ参照)を利用するのと同じように、AS3UnitコンポーネントのrunメソッドをcreationCompleteイベントハンドラ内で呼び出してください。これで、 AS3Unitコンポーネント内にグラフィカルに結果が表示されます。
AS3Unit GUI
AS3Unit GUIはAdobe AIRによって作成されています。使い方はwikiをご覧下さい。
- AIRランタイムのインストールが済んでいない場合、インストールします。
- ダウンロードした「as3unit-xxx-gui.air」を実行し、指示に従ってインストールします。
- インストールが完了すると、AS3Unit GUIが利用可能になります。
必要な環境
- ActionScript?3.0以上
ファーストステップ
ファーストステップでは、引数の値を合計して返すCalculator#addメソッドをAS3Unitを用いたテスト駆動で実装する手順を紹介します。
テストを作ります。テストメソッドはtestネームスペースで修飾し、assertを使用して値のチェックをします。
package
{
import org.libspark.as3unit.test;
import org.libspark.as3unit.assert.assertEquals;
use namespace test;
public class CalculatorTest
{
test function add():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.as3unit.runner.AS3UnitCore;
public class Main extends Sprite
{
public function Main()
{
AS3UnitCore.main(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)
更に詳しい使い方はドキュメントをご覧下さい。

