web-dev-qa-db-ja.com

Nunit-テストを検出しません[エラーメッセージなし]

ユニットは、アセンブリでのテストの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。ユニットテストアダプターをインストールしています。再インストールを試みましたが成功しませんでした。

30
user1531921

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で正しく動作するようになりました。

36

私の場合も同じですが、異なるのは、私のプロジェクトをVS UnitTestプロジェクトとして作成したもので、プレーンDLLではありませんでした。そこで、DLLを作成し、すべてのnunitアセンブリを参照すると、テストが検出されました。

お役に立てれば。

2
jayson.centeno

Visual Studio 2013からVS 2017にアップグレードするときにも同じ問題が発生しました。私の場合、すべてのテストはNUnit 2(3ではない)向けに作成され、VS 2013で正常に機能しました。 。

問題は、VS2017がVM上でNUnit 2のインストールを自動的に選択しなかったことです。

解決策は、[ツール]メニューの[ツール]をクリックして、Nunit 2テストランナーをインストールすることでした。拡張機能と更新。次に、右側のリストで[オンライン]を選択し、[検索]ボックスに「NUnit」と入力します。その後、適切なNUnitテストランナーを追加できます。

これはおそらくMSTestを除くすべてのテストランナーに当てはまります。

2
Herb F

私の場合、TestCaseSource属性を使用しました。そして、間違ったsourceNameを渡しました。

 [Test]
 [TestCaseSource("TestDataCaseSource")]
 public void SomeTest1(string DataName, ITestData testData)

修正後、テストエクスプローラーにすべてのテストが表示されます

1
aleha

私も同じ問題に直面していました。私のテストは発見されていません。 NUnit3TestAdapter dllをnugetパッケージマネージャーからインストールした後、私の問題が解決されました。私のビジュアルスタジオバージョンはvs2017です。

1

ここで確認することはほとんどありません。 1)正しいdllをテストプロジェクトに参照していることを確認します。この場合、NUnit3testAdapter 2)新しいインストール拡張機能を有効にするために、Visual Studioを再起動する必要があります。

このすべてを試してもまだ機能しないTool Extensions and updateの一部としてインストールし、ここからNunitTestアダプターをインストールします。これは間違いなく機能するはずです。

0
Vivek

私の場合、VS 2017では、Unit Test Adapter 3のインストール後、Nugetパッケージマネージャーを使用して、DLLの更新バージョンをソリューションに追加するだけです。

0

NUnit30Settings.xmlに問題がある可能性があります。私はこの悩みを抱えていました。私の場合、ファイルは空でした。何が理由なのか分かりません。 NUnitSettings.xmlからNUnit30Settings.xmlに設定をコピーしました。これで私の問題が解決しました。設定を含むファイルは... Users\[User]\AppData\Local\NUnitにあります。

0
Main