Flexcover0.81 動作方法メモ

Flexcoverって?

flexcover - Code Coverage Tool for Flex and AIR applications. - Google Project Hosting

Flexcoverとは、Allurent社のJoe Berkovitz氏が発表された、FlexAIR・AS3用のオープンソースのコードカバレッジ(テストのコード網羅チェック)ツールだ。

FlexAIR、AS3に対応していて、mxmlc/compc コンパイラフレームワークに独自に手を加えたカスタムバージョンのFlexSDKを含んでいて、出力したSWF、SWCファイルに測定用の呼び出し関数を挿入することで、コードの実行とその回数を検知する仕組み。

Flexcover: Flex/AIR/AS3用のオープンソースのコードカバレッジ(テストのコード網羅チェック)ツール | DigiTechLog Dot Com

動作方法メモ

1. Flex SDK のコピーを用意する。
\sdks\3.2.0 を 同フォルダ配下 flexcover-sdk-3.2 にコピーする。
Flexcover 0.81のドキュメントには、以下の記述がある。なお、Flex 3.5では動作しなかった。

Support for Flex 3.2 SDK and Flex Builder 3.0.2
we recommend that you download either Adobe Flex SDK 3.2.0.3794 or Adobe
Flex SDK 3.0.1.1092 with this version of Flexcover


2. Flexcoverの flexcover-0.81\sdk-modifications-3_2 配下のフォルダを \sdks\flexcover-sdk-3.2 配下に上書きコピーする。


3. Flex Builder eclipse pluginのFlex設定
eclipseのウィンドウメニュー > 設定 で設定ウィンドウを開く。
Flex > インストールされている Flex SDK > 追加ボタンを押下。以下を入力しOKボタンを押下する。

FlexSDKの場所 \sdks\flexcover-sdk-3.2
Flex SDK Flexcover3.2


4. eclipse Flex単体テスト用プロジェクトの設定
下記の変更を行うことにより、/bin-debug/<アプリケーション名>.cvm というファイルが出力される。

eclipseFlex単体テスト実施プロジェクトのプロパティを開く。
Flex SDKのバージョン、及び追加コンパイラ引数を変更する。

Flex SDKのバージョン Flexcover3.2
追加コンパイラ引数 "-coverage=true" を追加

FlexUITestRunnerのテスト完了時イベントに以下の処理を追加する。

getDefinitionByName('com.allurent.coverage.runtime.CoverageManager').exit();


5. CoverageViewerのインストール
Adobe - Adobe AIRからAdobe AIRランタイムをダウンロード、インストールする。
flexcover-0.81\CoverageViewer.air を実行し、インストールする。


6. CoverageViewerの実行
Load files... で、<単体テスト用プロジェクト>/bin-debug/<アプリケーション名>.cvm を開く


7. eclipse単体テスト用プロジェクトの実行
CoverageViewerで結果が表示される。
結果が表示された状態でcvrファイルを保存しておくと、後で同じ結果を確認できる。