ユニットは、アセンブリでのテストのdsicoverまたは実行を拒否します。これは、「アセンブリでテストが見つかりません」などのエラーメッセージがユニットで生成される場合ではありません。私はテストがあることを単に発見しません。
テストメソッドを右クリックすると、テスト出力に次が表示されます。
検出テストの開始------検出テストの終了:0が見つかりました(0:00:00,0260026) "
私はこの投稿で言及されているすべてを試しました: NUnitはアセンブリでテストを見つけられません
アップグレードは可能性ではありません。プロセッサアーキテクチャの設定が正しい。私のテストは公開されており、すべて正しいタグがあります。
ここに、私が単に実行することさえできないプロジェクトからのコードをいくつか示します。私は最初にブレークポイントを持っているので、それを知っています。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
namespace UnitTestProjects
{
[TestFixture]
public class SomeRandomTests
{
[Test]
public void ShouldFail()
{
Assert.AreEqual(1, 0);
}
[Test]
public void ShouldPass()
{
Assert.AreEqual(1,1);
}
}
}
Visual Studioの内部テストエクスプローラーを実行しています。 Unit Frameworkバージョン2.5.9.10348、ランタイムバージョンv2.0.50727。ユニットテストアダプターをインストールしています。再インストールを試みましたが成功しませんでした。
NUnit VSAdapter vsix拡張機能をインストールするか、アダプタをnugetパッケージとしてソリューションに追加する必要があります。
最新バージョンは2.0であり、vsixはここから入手できます。 https://visualstudiogallery.msdn.Microsoft.com/6ab922d0-21c0-4f06-ab5f-4ecd1fe7175d
また、nugetパッケージは次の場所にあります。 http://www.nuget.org/packages/NUnitTestAdapter/
これらのオプションの詳細については、このMSDN ALMの投稿を参照してください http://blogs.msdn.com/b/visualstudioalm/archive/2013/06/11/part-3-unit-testing-with-traits -and-code-coverage-in-visual-studio-2012-using-the-tfs-build-and-the-new-nuget-adapter-approach.aspx 、これも以前の2つの投稿を指します。
[テスト]の下の[出力]コンソールウィンドウを見ると、実行中にアダプタ名とバージョンが表示されます。起動しない場合、アダプターはアクティブではありません。
Resharperを実行する場合、最新の8.2バージョンを使用していることを確認してください。テストアダプターとresharperとの競合が以前にありました。
このプロジェクトをNUnit 2.5.9から最新の2.6.4にアップグレードできない場合でも、2.6.4を使用してテストプロジェクトでアダプターが正しく機能することを確認できます。
NUnit 2.5.9で自分のマシンをチェックしたところ、2.0アダプターでうまく動作しました。
更新:
VS2017の場合、NUnit VSAdapter vsix拡張機能をインストールせず、代わりにVisual Studio 2012(Update 1)以降のNUnit 3 TestAdapterをインストールします。これは、NuGetパッケージNUnit 3.9.0で機能します。
Update 2-2019年6月NUnit2アダプタの2.2バージョンをリリースしました。 SDKタイプのプロジェクトとVS 2017および2019で正しく動作するようになりました。
私の場合も同じですが、異なるのは、私のプロジェクトをVS UnitTestプロジェクトとして作成したもので、プレーンDLLではありませんでした。そこで、DLLを作成し、すべてのnunitアセンブリを参照すると、テストが検出されました。
お役に立てれば。
Visual Studio 2013からVS 2017にアップグレードするときにも同じ問題が発生しました。私の場合、すべてのテストはNUnit 2(3ではない)向けに作成され、VS 2013で正常に機能しました。 。
問題は、VS2017がVM上でNUnit 2のインストールを自動的に選択しなかったことです。
解決策は、[ツール]メニューの[ツール]をクリックして、Nunit 2テストランナーをインストールすることでした。拡張機能と更新。次に、右側のリストで[オンライン]を選択し、[検索]ボックスに「NUnit」と入力します。その後、適切なNUnitテストランナーを追加できます。
これはおそらくMSTestを除くすべてのテストランナーに当てはまります。
私の場合、TestCaseSource属性を使用しました。そして、間違ったsourceNameを渡しました。
[Test]
[TestCaseSource("TestDataCaseSource")]
public void SomeTest1(string DataName, ITestData testData)
修正後、テストエクスプローラーにすべてのテストが表示されます
私も同じ問題に直面していました。私のテストは発見されていません。 NUnit3TestAdapter dllをnugetパッケージマネージャーからインストールした後、私の問題が解決されました。私のビジュアルスタジオバージョンはvs2017です。
ここで確認することはほとんどありません。 1)正しいdllをテストプロジェクトに参照していることを確認します。この場合、NUnit3testAdapter 2)新しいインストール拡張機能を有効にするために、Visual Studioを再起動する必要があります。
このすべてを試してもまだ機能しないTool Extensions and updateの一部としてインストールし、ここからNunitTestアダプターをインストールします。これは間違いなく機能するはずです。
私の場合、VS 2017では、Unit Test Adapter 3のインストール後、Nugetパッケージマネージャーを使用して、DLLの更新バージョンをソリューションに追加するだけです。
NUnit30Settings.xmlに問題がある可能性があります。私はこの悩みを抱えていました。私の場合、ファイルは空でした。何が理由なのか分かりません。 NUnitSettings.xmlからNUnit30Settings.xmlに設定をコピーしました。これで私の問題が解決しました。設定を含むファイルは... Users\[User]\AppData\Local\NUnitにあります。