WebProject-A に JavaScript ファイルのコレクションがあります。TestWebProject-A に一連のジャスミン スペック ファイルがあります。ホステッド TFS サービスを使用してビルドを実行していますが、テストが失敗するとすべてが失敗するように設定されています。
私の仕様ファイルは、次のような参照コメントを使用して、テスト対象の js ファイルを参照します。
/// <reference path="angular.js" />
/// <reference path="jasmine/jasmine.js" />
/// <reference path="..\..\..\WebProject\WebProjectA\App\Controllers.js"/>
......\ は、仕様が定義されているテスト プロジェクトから取り出し、実際の Web プロジェクトに入れることに注意してください。
ローカルではすべて正常に動作します。TFS ビルドでは、テスト対象のオブジェクトが未定義であるとテストで示されているため、失敗します (これはパスが原因であると確信しています)。
私が理解している限り、これはコンパイル時にのみコピーされるため、「リンクとして追加」を使用してファイルを「コピー」することはできません。そして、それは常に欠落しています(ローカルであっても)
こんな感じでプリビルドタスクにcopy文を追加してみました
copy $(solutionDir)\path\to\app\*.js $(solutionDir)\path\to\test\ -y
参照位置を変更します。これもローカルでは期待どおりに機能しましたが、ビルド サービスでは -1 の結果で失敗しました。
テストを正しく構成する方法について、誰でも指針を提供できますか。当分の間、テストを webproject に追加し、それらへのルートをブロックしますが、ハックで間違っているように感じます。
ありがとう