23

ジャスミン テストを別のビジュアル スタジオ プロジェクトに分離することは実用的/可能ですか?

私は角度を使い始めたばかりで、実際の角度の実装を開始する前にテストを作成しようとしています。Chutzpah テスト ランナーを使用して、Visual Studio 2012でプロジェクトを作成します。このビデオを参照してください。現在、フォルダー構造を整理する方法を見つけようとしています。angular-seed と yeoman については知っていますが、これらは .net プロジェクトの開始には適していません。

Visual Studio の単体テストは通常​​、別のテスト プロジェクトに分割されるため、慣例により、ジャスミン テストも分割する必要があると想定しています。

ただし、java スクリプトの場合、参照するプロジェクト dll がないため、テストを別のプロジェクトに分離するには、多くのコピー アンド ペーストが必要になると思います。

4

3 に答える 3

18

これは、コピー/貼り付けなしで実行できます。Jasmine テストでは/// <reference、ソース ファイル (またはソース ファイルを含むディレクトリ) に投稿するコメントを追加できます。たとえば、この構造を考えると

/ProjectA /スクリプト

code1.js
code2.js

/TestProjectB test1.js

次の行を test1.js ファイルの先頭に追加して、すべてのコード ファイルを参照できます。

/// <reference path="../scripts" />
于 2013-05-17T17:01:48.127 に答える
1

伝統的に、私は常に単体テストを別々のアセンブリに保持してきました。

私は議論の両面を読み、実稼働コードではないコードを出荷したり、実稼働コードからテストを削除するための追加の展開手順を用意したりしたくないと考えています。

たとえば、Web.Client.Tests アセンブリで JavaScript を参照するには、ビルド後のイベントを使用してファイルをテスト プロジェクトにコピーします。これには、robocopy を使用します。次のようになります。

robocopy "$(ProjectDir)app" "$(SolutionDir)Tests\Presentation\Web.Client.Tests\app" /E /COPY:D /IS

robocopy "$(ProjectDir)Scripts" "$(SolutionDir)Tests\Presentation\Web.Client.Tests\Scripts" /E /COPY:D /IS

エラーレベル 1 の場合 GOTO :eof

このアプローチの主な短所は、C# コードの場合と同様に、テストを実行する前にテスト プロジェクトを更新するために、毎回プロジェクトをビルドする必要があることです。

于 2014-05-14T11:39:51.147 に答える