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]とかの対応はすぐにでもしたいですね。