質問

私は、ActionScript 3.0 の一般的なコード ライブラリに取り組んでいます。 as3lib これには、コア API へのいくつかの拡張機能といくつかの便利な関数が含まれています。すべてが正しく動作していることを確認するために、(FlexUnit を使用して) 単体テストをいくつか作成しました。

これらのテストをライブラリ内で整理する最善の方法は何ですか? 現在、すべてのコードが次のとおりです src/ そして私のテストで test/ ただし、単体テストを実行するためにセカンダリ Flex プロジェクトをセットアップしました。また、テストを実行するときは、ライブラリにテスト ファイルを手動で追加したり削除したりしています。

私のやっていることは正しくないようです。もっと良い方法はありますか?コンパイルされたライブラリにテスト ファイルが含まれていないものが望ましいですが、それらをテストするために 2 つの別々のプロジェクトは必要ありません。

役に立ちましたか?

解決

私たちは、私の会社ではこれらの事をやった方法は、私たちが実際にソースディレクトリの下の両方を含み、そして、我々は我々が使用する2つのアプリケーションのMXMLファイルを持っているということです。一つは、他のメインアプリケーションである、ユニットテストクラスに適切なリンクのすべてを含むテストスイートです。また、srcフォルダの内部に2つのパッケージ構造持っています:ユニットテストのために必ずそののすべてののソースコードを作成します... 1つのパッケージ構造コム..と別のtests.comを常にのあります<テストパッケージに/ em>の - 。あなたが唯一のSVNを無視し、あなたも必ず、あなたのテストは、他のプロジェクトとの依存およびハードコードされた関係を作成していないことを確認することができます。

を使用することができます。この方法

私たちはtest.comソースファイルが含まれていないことを確認するために使用する2つの方法があります。自動ビルドシステムは、メインアプリケーションを参照し、からCOM。それだけ輸入するので、mxmlc.exeは本体のみのアプリケーション用のファイルが含まれます。 、ローカル日食の内部を構築するとき、あなたは少し隣のデバッグにある矢印とにスクロールをクリックすることで、どのように物事のビルドを制御することができ、「お気に入りを整理します。」あなたは、「追加」をクリックすると、あなたは、Applicationクラスを参照するすべてのルートレベルの.mxmlファイルを選択することができるはずです。基本アプリケーションと新しいユニット・テスト・アプリケーションのファイルを追加してください。あなたはその後、「OK」をクリックすると、矢印が今、あなたはどちらかのメインアプリケーション、またはあなたのユニットテストフレームワークとしてデバッグすることができます。

余談として、我々はまた、当社のテストフレームワークとしてのFlexUnitを使用しています。そのようなIます。

他のヒント

私はあなたが過去に説明している方法と同様のことをしましたが、それは次のようなもののようです SpringAS 構成に対して動的に追加および削除する場合に非常に便利です。それについて調べてみましたか?

私たちは、図書館のトップレベルで別々のsrcおよびテストのディレクトリを持っています。彼らはすべてのテストを必要としないので、私たちのアプリケーションは、ライブラリプロジェクトの周りに非常に薄いラッパーです。我々はまた、FlexBuilderではからテストを実行するために、のFlexUnitアプリケーションプロジェクトを持っています。

私たちは、メインのビルドシステムのためのMavenの使用、およびSonatype Flexのプラグインでも、当社のLinuxベースの連続サーバー上で、ビルド中にすべての私たちのユニットテストを実行します。その場所を選ぶための良い正当化した「テスト」ディレクトリ内のテストを探しているとMavenのデフォルトます。

私流れに逆らってここでこの設定の異なる全てのプロジェクトにご試験までを実施。いてはいかがでの試験などでの一貫したやや大丈夫です。しかし、私が説得力のある理由を個別プロジェクトのための試験

  1. 分離の最大の関心事です。第一に、図書館目的で、試験しています。ながらの試験ニーズの図書館が機能するには、図書館のない不利用のためのテストを実施していた。 注意 い、ということではありません試験は無用、それとは程遠い状況です。この試験はありま確認のための図書館が、生産環境の試験を行っています。

  2. 低膨張、ファイルです。試んでるようにします。もっともだからと言っていたので、彼らはまだ使用ディスクスペース。以降の試験に慣れない生産環境はとにかく、これは無意味である。また、分離試験を新しいプロジェクトのファイル構成で多くのクリーナーです。

  3. CI環境は一般的にクリーナー設定時の試験はない。

があが関与するものと考えられる少なくとも解決の問題をコンパイラディレクティブな仕事がもりだけを分離します。試験には、図書室または申請が必要となる可能性があるような使用と同じ名前空間内部の授業はいかがでしょうか?) も問題ありませんから実験プロジェクトがミラーの名前空間これは明らかにする必要のない名前の衝突の名前空間がいるようにします。

面フラッシュビルダーの支援を続けていることは素晴ら分離などを行なう。これに必要な新しい試験を右クリックしいクラスでバの試験は、新しい試験を下回る可能性があります。をお選び試験プロジェクトの代わりに現在のダイアログを出します。これって本当の理由は私と私のチームメン時に正当化試合を重ねてきましたがTDDの過度の架けます。現在の状態のIDEでは、ォ簡単、便利です。

においては、技術しかし、留意しなければならない点もあり.ひとつになること試験の異なるプロジェクトではないと記載されています。●この試験は同じプロジェクトで有効になる問題です。一方、これは簡単に解決の設定により、mavenローカルまたはその他の依存関係管理ツールできて取得することができます。もう一つの課題であることが発見された場合にはパッケージ構造では、試験プロジェクトミラーの図書館、アプリケーションがメンテナンスのオーバーヘッドをその構造を同期させます。ながらない大きな問題となかなか簡単には解決スクリプティング"はじめまして、まゆポンとも見逃せません。

とにかくそう思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top