Adobe Air‎ > ‎

FlexUnitを試してみる

http://code.google.com/p/as3flexunitlib/
http://opensource.adobe.com/wiki/display/flexunit/Flexunit

FlexUnitはFlex,ActionScript3のUnitTestフレームワークです。
テスト結果は、FlexのGUIで確認することができます。

試してみたバージョンは、v0.9です。
以前のバージョンに比べ、GUIがちょっとかっこ良くなってますねー。
マウスをグリグリ動かすようなテストは多分書けないと思いますが、ActionScript3のクラスのテストするにはよさそうです。
大きなプロジェクトではAntで実行するといいかもしれないです。
http://weblogs.macromedia.com/pmartin/archives/2006/06/new_flexunit_an.html


テストケースの書き方

提供されている、FlexUnit.swcにはflexunit.framework.TestCaseというクラスが含まれています。
このクラスを継承してTestCaseを作成していきます。

テストメソッドは、メソッド名が testから始まる名前にすることで反応します。
この仕様はちょっと古くさい感じがするので、もしかしたらメタタグなどで指定できる方法がある(or今後のバージョンで出てくる)かもしれません。

Runnerの書き方

TestRunner.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*"
                xmlns:flexunit="flexunit.flexui.*"
                creationComplete="onCreationComplete()">
   
    <mx:Script source="TestRunner.as" />

    <!-- FlexUnit GUI Component -->
    <flexunit:TestRunnerBase id="testRunner" width="100%" height="100%" />
</mx:WindowedApplication>

TestRunner.as
import flexunit.framework.TestSuite;
           
// Create the test suite and run the tests
private function onCreationComplete():void {
    testRunner.test = createSuite();
    testRunner.startTest();
}

// Creates the test suite to run
private function createSuite():TestSuite {
    var testSuite:TestSuite = new TestSuite();
    testSuite.addTestSuite( BankAccountTest );
    return testSuite;
}

BankAccountTestというのは作成したTestCaseのクラス名です。
TestRunnerをAIRで実行すれば画面が起動し、テストが開始されるようになります。

テストモジュール

AIR GEAR v1.0.1 で試してみましたので、その構成のご紹介。

フォルダ構成はこんな感じ。
BuildPropertyでは、srcとtestとでコンパイル方法を別途設定してみました。
srcは実際のアプリケーションのファイルを配置し、testの方にはTestRunnerやTestCaseを配置しています。



srcフォルダの方はこんな感じ。


testフォルダはこんな感じ。FlexUnitのライブラリと、srcフォルダのswcをライブラリに設定しています。


テストで動かしてみたプロジェクトをFlexUnitSample.zipに置いておきます。
AIR GEAR v1.0.1以上が入ったEclipseにて、File→Importの画面にて、General→ExistingProjects into Workspaceを選んでインポートしてみてください〜!
テストの実行は、プロジェクトの右クリック→Run As→AIR Applicationで実行できます。

何行目でエラーが発生したか?というのは、コンパイル時に -debug オプションをつけてあげると表示されるようです。
基本は、1つのテストケースの内容は少なくするのが基本ですが、StackTraceだけで原因が分からない場合にはdebugオプションをつけるのも手ですね。
AIR GEARでは、上記の図の Options の欄に -debug を追加してあげればOKです。
   +configname=air test/TestRunner.mxml -debug
ċ
FlexUnitSample.zip
(1358k)
hideko ogawa,
Nov 22, 2008, 11:43 PM
Comments