VSテストステップを使用してTFS 2015で実行されているMsTestおよびNUnitテストのコレクションがあります。私はNUnitテストアダプタ3.4.1を使用して、ビルドエージェントでテストを実行しています。VSすべてのテストが合格した後、TFSに失敗するテストステップ
最後に、テストに合格したにもかかわらず、Nunitがうまくいくように見えて、ビルドステップがこれら2つのエラーで失敗します。
2016-09-04T09:59:44.7209787Z ##[error]Error: Exception NUnit.Engine.NUnitEngineException, Exception thrown executing tests
2016-09-04T09:59:44.7209787Z ##[error]
2016-09-04T09:59:44.7209787Z ##[error]Error: Exception encountered unloading AppDomain
2016-09-04T09:59:44.7209787Z ##[error]
2016-09-04T09:59:44.7209787Z Information: NUnit Adapter 3.4.1.0: Test execution complete
2016-09-04T09:59:44.8615975Z Results File: C:\agent\_work2\1\TestResults\SRV-BLD1 2016-09-04 01_22_45.trx
2016-09-04T09:59:44.8615975Z Total tests: 139. Passed: 134. Failed: 0. Skipped: 5.
私は139回のテストスイートには確かに存在していることをチェックしました、と5は(2 MSTestをしており、3はNUnitのある)を無視するように設定されています。
エラーの詳しい説明が表示されるかどうかはわかりません。このサイトとGoogleを検索すると、NUnit.Engine.NUnitEngineExceptionがテストの検出(例:here、here)にリンクされていますが、テストが検出されているので、これが関連しているかどうかわかりませんNUnit、多くのことは分かりません)。
アダプターの障害(hereとhere)を扱う2つのリンクも見ましたが、同じレベルの冗長性がないからといっても、エラーはあまり一致しません。
TFSでは、このステップには有効な設定とDLLへのパスだけが設定されています。
誰でもエラーの原因を知っていますか(ビルドが失敗する原因になっていると思います)。あるいは、問題を調査するために、より正確な/冗長なエラースタックを得るための次のステップは何でしょうか?サイドノートとして
、私はthisを見たので、これを述べている、答え:
MSTest.exeはないすべてのテストが 合格していることを示す1の終了コードを返しました。
スキップされたテストでVSTestsが失敗したという確認は見つかりませんでしたが、これも問題になる可能性がありますか?
ありがとうございました。
UPDATE
以下示唆したように、私は直接IDEからこれを実行する試みたが、この出力を得た(フォルダが編集さ)
------ Discover test started ------
NUnit Adapter 3.4.1.0: Test discovery starting
NUnit Adapter 3.4.1.0: Test discovery complete
========== Discover test finished: 139 found (0:00:00.8820879) ==========
------ Run test started ------
System.AppDomainUnloadedException: Attempted to access an unloaded AppDomain. This can happen if the test(s) started a thread but did not stop it. Make sure that all the threads started by the test(s) are stopped before completion.
NUnit Adapter 3.4.1.0: Test execution started
Running all tests in C:\agent\_work2\1\s\codePorject\bin\Debug\codeProjectTests.dll
NUnit3TestExecutor converted 37 of 37 NUnit test cases
System.AppDomainUnloadedException: Attempted to access an unloaded AppDomain. This can happen if the test(s) started a thread but did not stop it. Make sure that all the threads started by the test(s) are stopped before completion.
Exception NUnit.Engine.NUnitEngineException, Exception thrown executing tests
Exception encountered unloading AppDomain
NUnit Adapter 3.4.1.0: Test execution complete
========== Run test finished: 139 run (1:20:10.3290294) ==========
私は同様のxUnitのissueが開いていましたが、それは解決策がないようです。
This StackOverflow答えはスリープタイマーを使用するように提案するので、私はそれを試みるかもしれません。
NunitとNunit3TestAdapterをNugetから復元していますか? –
いいえ、私はそれらをビルドエージェントにインストールしました。私が使用しているバージョンは3.4.1 – Kolichikov
この問題を再現して共有できるサンプルユニットテストコードを作成できますか? –