2016-04-28 21 views
5

現在、私たちはユニットテストをMSTestからNUnit(バージョン3.2.1)に移行していますが、TFSの.xamlビルド定義からNUnitテストを実行する際に問題があります。 TFSビルド定義では、 "\ *。test * .dllと一致するアセンブリでテストを実行する"というルールを使用しています。NUnit3テストはTFSビルドでは実行されません

1)のNUnit V3.2.1

2)NUnit3TestAdapterのv3.0.10 VS内の私のテスト(テストエクスプローラ)を実行

:私は、ダウンロード、インストールして、次のNuGetパッケージを参照している私のNUnitのテストプロジェクトのためにこれらの手順は、TFS上でCIビルドの一部として実行されることを保証するのに十分であると考えましたが、テストは実行されません。診断出力でこれらのテストに関するエラー/警告/メッセージは表示されませんが、前述のワイルドカードルール(** \ *。test)と一致するので、ビルドプロセスがユニットテストの候補としてアセンブリを検出したことがわかります* .dll)。

また、TFS用のビルドコントローラのプロパティで定義されている「バージョン管理パスとカスタムアセンブリ」フォルダにNUnit3TestAdapterアセンブリを配置しようとしましたが、役に立たなかった。

私はここでプロセスの一歩を欠場している場合誰でも見ることができます。私がこれらのフォーラムで読んだことのすべてから、私は必要なすべてをやったようですが、まだ実行しません。

私は、NUnitテストを含むアセンブリでMSTest、exe(TFSビルドが使用するもの)を直接実行するだけで、この問題を大幅に簡素化しました。問題のアセンブリは、NuGetパッケージとしてインストールされたアダプタとnunitフレームワークの両方を持っていますが、MsTestはまだテストが見つからないことを報告しています(下記を参照):

C:\ Users \ hdav> "C:\ Program Files \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ MSTest.exe "/testcontainer:e:\MyCode\nunit\ExpectedExceptionExample\bin\Debug\ExpectedExceptionExample.dll

e:\ MyCode \ nunit \ ExpectedExceptionExample \ bin \ Debug \ ExpectedExceptionExample.dll ...

開始実行...

実行するテストはありません。

+0

ビルドログを共有できますか?ビルド中にTestAdapterが復元されているのを確認できますか? –

+0

私は本当にビルドログをあなたと共有することはできませんが、TestAdapterが "復元された"のを見て何を意味するのか詳しく説明できますか?私はあなたがNUnit3.TestAdapter.dllを意味すると仮定し、そうであれば、次にビルドログに次の行が表示されます: "$/TFSAdministration/BuildProcessTemplates/CustomAssemblies/NUnit3.TestAdapter.dll 'からのマッピングを追加する.... .. " – davies

+0

' MsTest'を使ってテストを実行すると、古いスタイルのMsTestプロジェクトだけが実行されます。新しい拡張可能なテストランナーをロードするには、代わりに 'vstest.console.exe'を実行する必要があります。 – jessehouwing

答えて

0

同じ問題が発生していたため、アダプターがテストを検出するためには、テストプロジェクト用のpbdファイルが存在する必要があります。

ファイルはローカルで生成されていましたが、ビルド(この場合はTFビルド)は/p:DebugType=NoneスイッチをMSBuild引数に指定していました。スイッチを削除することで、テストを発見してビルドで実行することができました。あなたのビルド定義に似たようなものがありますか?

問題はGitHubでbugとして受け入れられました。

関連する問題