FlexUnit4

ASphalt2-containerのテストコードを整理しようと思い立ち、FlexUnitをダウンロードしに行きました。
FlexUnit4というのが出ていて、メタデータが使えるよって書いてあったのでこれはよいと思い、早速ダウンロードしてきました。


メタデータコンパイラー引数が確か必要だったなと思いドキュメントを見たところ、特にそれらしい記述はありませんでした。あれ?っと思い試しに[Test]メタデータメソッドにつけて実行すると・・・ちゃんと実行できます。


あれれ?


swcになにか仕掛けがあるのかと思いJadzipにして開けてみると、中に入っているcategory.xml

      <keep-as3-metadata>
        <metadata name="Filter" />
        <metadata name="Sort" />
        <metadata name="RunWith" />
        <metadata name="ArrayElementType" />
        <metadata name="Test" />
        <metadata name="DataPoints" />
        <metadata name="Theory" />
        <metadata name="DataPoint" />
        <metadata name="Suite" />
        <metadata name="Ignore" />
        <metadata name="AfterClass" />
        <metadata name="Before" />
        <metadata name="BeforeClass" />
        <metadata name="After" />
      </keep-as3-metadata>

という記述が。
たぶんこれのお陰で、メタデータがキープされてるのでしょう。


となると作り方は?となるので、早速JadAdobeからFlex4Unitプロジェクトをチェックアウトしてきました。
なんのことはない、プロジェクトプロパティの追加コンパイラ引数に

-keep-as3-metadata=RunWith,BeforeClass,AfterClass,Before,After,
    Suite,Test,Ignore,Filter,Sort,Theory,DataPoint,DataPoints,ArrayElementType

と書いてありました。。。


swcにこれを書いとけば、それを使ったプロジェクトでも設定が引き継がれるのですね。
知らなかった。。。これなら[Inject]とかの対応はすぐにでもしたいですね。