2016-04-04 16 views
3

Visual Studio Team Servicesでリリース定義を追加して、アプリケーションをAzureクラウドサービスに展開しました。私はすべてのためにNUnitのテストアダプタ(nugetパッケージ)をインストールしているVisual Studio Team Servicesでの展開後に統合テストを実行する

Warning: No test is available in C:\a\301532a74\Build\Api.Web.IntegrationTests\Api.Web.IntegrationTests.dll. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again. 
Information: Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true 
##[warning]No results found to publish. 

:私は成功し、展開した後、いくつかの統合テストを実行しようとしている:

enter image description here

しかし残念ながらテストは実行されませんテストを含むプロジェクト(単体テストと統合テスト)。奇妙なことは、の一部としてテストを実行できますが、リリースの一部ではないことです。

また、カスタムテストアダプタへのパスを設定しようとしましたが、違いはありません。

ここには何がありますか?リリースの一部としていくつかの統合テストを実行するより良い方法はありますか?

+0

NUnit 2または3ですか? 3の場合は、今週末にリリースされたCTP9パッケージを使用していますか? CTP8に問題がありました。 – Chris

+0

NUnit 2.6.4。 NUnitTestAdapterの最新バージョンがインストールされています。 –

+0

あなたはどのビルドエージェントを使用していますか?ホストされているか、自分のホストですか? –

答えて

3

が、私はエディの提案に基づいて、私の問題の解決策を見つけた:

ステップ1 - テストプロジェクトの出力フォルダにすべてのNUnitのアセンブリをコピーします(ローカルコピープロパティを設定します)

NUnit assemblies

enter image description here

ステップ2 - artifaを作成します。 ctは、テストプロジェクトのbinフォルダのすべてのファイルを含みます。これはテストアセンブリだけでなく、含まれていますが、またNUnitのは

enter image description here

ステップ3アセンブリ - テスト作業では、カスタムテストアダプタのテストアセンブリとNUnitのアダプタが含まれているアーティファクトフォルダへのパスを設定しますアセンブリ

それだ

enter image description here

!次にリリースを作成して任意の環境にデプロイすると、テストが実行されます。

3

これは通常、VSTestではNUnitテストアダプタが見つからないために発生します。

通常、 "ビルド"環境では、NUnitテストアダプタは、作業フォルダ内のnugetによってリストアされるため、テスト中にVSTestが検索できます。しかし、 "リリース"環境では、NUnitテストアダプタはデフォルトでは存在しません。したがって、NUnitテスト・アダプター・ファイルをアップロードするためにビルド定義を更新する必要があり、NUnitテスト・アダプターは、成果物がダウンロードされた後、「リリース」環境で使用可能になります。次に、 "カスタムテストアダプタへのパス"を "$(System.DefaultWorkingDirectory)\"に設定して、やり直してください。

独自のビルドエージェントを使用している場合、ビルドエージェントがアクセスできる永続パスにNUnitテストアダプタを配置し、「カスタムテストアダプタへのパス」を設定することもできます。またはビルドエージェントにVS用のNUnitテストアダプタ拡張をインストールし、 "Visual Studio Test \ Other console options"に "/ UseVsixExtensions:true"と入力します。

+0

ありがとうございます。私はすでにアダプタアセンブリをテストアセンブリと同じフォルダにコピーし、 "Path to Custom Test Adapters"を運がないように設定しようとしました。残念ながら、私はVisual Studio Team Services(別名Visual Studio Online)を使用しているためNUnitテストアダプタ拡張をインストールできません –

+0

@RuiJarimbaいくつのファイルをコピーしますか? artifactフォルダ内のすべてのファイルのスクリーンショットを共有できますか? –

+0

遅く返事をして申し訳ありません。私は自分の問題を解決し、解決策を投稿しました。ありがとうございます.- –

0

私の問題は、resharpers testrunnerを使っているので、NUnitのテストランナーがまったくインストールされていないということでした。

私の解決策は、テストプロジェクトに "NUnit3TestAdapter" version = "3.4.0"というナゲットパッケージを追加するだけで簡単でした。

visualstudio.com(VSオンライン)「Nuget復元アダプタは自動的に検索されます。」 "カスタムテストアダプタ"のパスを指定する必要はありません/- これはNUnitテストアダプタバージョン2でも動作するのかどうかわかりません。

+0

ビルドの一環としてではなく、デプロイメントの後にテストを実行したいということに注意してください。私の質問を読んでください、すべての詳細はそこに指定されています。 –

関連する問題