2

Flex Builder 3 で純粋な ActionScript プロジェクトを作成し、flexunit を使用して単体テストを行いたい場合、最適なオプションはどれですか?

組み込みの Flex ビルダーは、純粋な ActionScript プロジェクト (Flex は許可されていない) であるため、TestRunnerBase コンポーネントを含む mxml ファイルのビルドを拒否します。プロジェクト設定の「ActionScript アプリケーション」リストに mxml ファイルを追加することはできません。

現在、2 つの選択肢があり、どちらも望ましくありません。

  1. 単体テスト mxml ファイルをプロジェクトに追加し、それをビルドして実行するための外部ツール セットアップを作成します。これは私が現在採用しているアプローチであり、インタラクティブなデバッグが不可能であることを除けば、うまく機能します。
  2. テスト mxml ファイル専用の新しい Flex プロジェクトを作成し、メイン プロジェクトの src ディレクトリを追加のソース ディレクトリとしてビルド オプションに追加します。この方法は好きではありません。mxml ファイルを他のすべてのソース ファイルとは別のディレクトリ ツリーに保持する必要があるだけでなく、2 つのプロジェクトを維持するのが面倒だからです。
4

9 に答える 9

3

常にASUnitがあります。

于 2008-12-14T13:31:12.080 に答える
1

libsparkからAS3Unitを試してください。また、非同期ベータテストキットもあります。

于 2009-06-04T03:38:00.630 に答える
1

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 {}
于 2008-12-15T09:39:10.300 に答える
1

結局、単体テストの mxml ファイルを元のプロジェクトに配置し、新しい Flex プロジェクトを作成し、src ディレクトリを削除し、それを ActionScript プロジェクトの src ディレクトリにリンクされた Eclipse フォルダーに置き換えました。この設定はうまくいくようです。

于 2008-12-14T17:10:53.867 に答える
0

プロジェクトの.actionScriptPropertiesファイルの「excludedEntries」要素を削除すると機能するはずです。この方法を使用して、純粋なactionscriptプロジェクトでmxmlファイルをビルドします。

于 2009-11-06T02:09:07.570 に答える
0

libsparkからAS3Unitを試してください。また、非同期ベータテストキットもあります。

于 2009-06-04T03:34:39.770 に答える
0

FlexUnit4 とその CI ant タスクを使用して、Robotlegs のビルドをどのようにセットアップしたかを確認できます。

バージョン管理のために、Flex/Flash Builder プロジェクト ファイルをすべて取り除きます。src と test フォルダーは両方とも src パスとして設定されます。テストは、ant ビルドを介して実行されます。別の方法として、ビジュアル テスト ランナーを使用している場合は、ランナーを含む 2 つ目のプロジェクトをセットアップできます。

これは非常に効果的で、多くの貢献者の間で使いやすくなっています。

于 2009-11-06T02:22:54.203 に答える