flexunit純ActionScriptプロジェクトフレックスビルダー3
-
21-08-2019 - |
質問
作成した場合は、純粋ActionScriptプロジェクトフレックスビルダ3という単位を用いたテストflexunitは、何が最良のオプションか?
内蔵フレックスビルダーを拒絶することがあり、mxmlのファイルを含むTestRunnerBaseコンポーネントでは、純粋なActionScriptプロジェクト(フレックス)。することができるmxmlのファイルの"ActionScriptの応用"リスト内のプロジェクトを設定します。
今見える二つのオプションは、望ましくない。
- 追加のユニット試験mxmlのファイルのプロジェクトを作成した外部ツールの設定をバッチファイルを実行します。このアプローチをかけることができ、と対話デバッグは不可能である。
- 新しいフレックスプロジェクトでの試験mxmlのファイルの追加の主なプロジェクトのsrcディレクトリとして追加のソースディレクトリを構築します。んが、このようなアプローチすることが必要なことから、がんmxmlのファイルを別のディレクトリツリーからすべてのその他のソースファイルの醜さを維持す。
解決
は常にあります ASUnitするます。
他のヒント
私は、ActionScriptプロジェクトのsrcディレクトリにフォルダをリンクし、新しいFlexプロジェクトを作成srcディレクトリを削除する、とEclipseでそれを置き換える、元のプロジェクトでユニットテストのMXMLファイルを置くことになりました。このセットアップは正常に動作するようです。
私たちは、FlexUnitのはCruiseControl.net(継続的インテグレーションサーバ)での作業を取得するために、類似した何かをやった。
私たちの実装では、我々は、ApplicationクラスのFlexEvent.CREATION_COMPLETEハンドラで実行以下のコードを持っています。
ユニットテストの結果は、完全にあなた次第ですどのようにして出力します。我々の実装では、AIRとZinc3両出力NUnitのフレンドリーXML表現の両方で使用し、次いで(-1のいずれかのテストが失敗した場合、終了コードで)アプリケーションを終了されています。
// import mx.core.Application;
// import flexunit.framework.*;
// class AutomatedTestHarness extends Application implements TestListener
private function creationCompleteHandler(event : Event) : void
{
this._result = new TestResult();
this._result.addListener(this);
var testSuite : TestSuite = new TestSuite();
this.addUnitTests(testSuite);
testSuite.runWithResult(_result);
}
/**
* Implement these as part of TestResult.addListener
* If you want to output xml after the tests run, do so here
* (Tip: Count tests in endTest and compare the count to testSuite.countTestCases()
* to find out when all tests have completed)
*/
function startTest(test : Test) : void {}
function endTest(test : Test) : void {}
function addError(test : Test, error : Error) : void {}
function addFailure(test : Test, error : AssertionFailedError) : void {}
たぶん、あなたはflexunit.textui.TestRunner、コンソールへの出力結果を使用することができます。
私たちは、ライブラリプロジェクトにテストしたいすべてのコードを因数分解しました。私たちは、その後、ちょうどテスト中のプロジェクトに依存フレックスプロジェクト、ある我々のテストのために別のプロジェクトを、持っています。
libsparkから AS3Unit してみてください。彼らはまた、非同期ベータテストキットを持っています。
libsparkからAS3Unitを試してみてください。彼らはまた、非同期ベータテストキットを持っています。
私は、純粋なActionScriptプロジェクトにMXMLファイルを構築するためにこの方法を使用して、ファイルが動作するはずプロジェクトの.actionScriptPropertiesに「excludedEntries」要素を削除します。
あなたは、私たちは FlexUnit4を使用してをRobotlegsのビルドを設定した方法をチェックアウトすることができますし、そのCI Antタスクます。
バージョン管理のために我々は、Flex / Flash Builderプロジェクトファイルのすべてを取り除きます。 srcとテストフォルダは、両方のsrcパスとして設定されています。テストはAntビルド経由ランドです。代わりにランナーを有する第二のプロジェクトは、あなたの人生場合は、ビジュアルテストランナーを設定することができます。
これは非常に効果的で、多くの貢献者間で使いやすくなっています。