web-dev-qa-db-ja.com

テストアダプターがインストールされていると、テストエクスプローラーにNUnitユニットテストが表示されない

NUnit Test Adapter for VS2012 + 2013をインストールしました。最初にインストールしたときに、アダプターテストが表示されていましたが、今日は何らかの理由で表示されなくなりました。ビルド、再構築、クリーニング、再起動後、テストエクスプローラーに何も表示されません。なぜこれが起こるのでしょうか? VS2013 Ultimateを使用しています。

135
RobVious

テストプロジェクトが64ビットプラットフォームを対象とするように設定されている場合、テストはNUnitテストアダプターに表示されません。

82
Brannon

NUnit3 +バージョンを使用している場合、新しいテストアダプターが利用可能です。

「ツール->拡張機能と更新->オンライン」に移動し、"NUnit3 Test Adapter"を検索してインストールします。

172
Ricardo França

私のテストアセンブリは64ビットです。 Visual Studio 2012の上部にあるメニューバーから、[テスト]-> [テスト設定]-> [既定のプロセッサアーキテクチャ]-> [X64]を選択できました。 [ビルド]メニューの[ソリューションの再構築]の後、テストエクスプローラーですべてのテストを確認できました。これが将来の誰かの助けになることを願っています= D。

57
Simoyd

「NUnitテストアダプター」をインストールする

[ツール]-> [拡張機能と更新プログラム]-> [オンライン]-> [Nunitテストアダプタ]を検索->結果リストで[NUnitテストアダプタ]をクリック-> [ダウンロード]ボタンをクリック

46
Nilesh

NUnitのバージョンの不一致を確認してください。現在利用可能なNUnitテストアダプターは、NUnitバージョン2.6.4以下でのみ動作します。 NUnitをバージョン3.xからダウングレードするには、パッケージマネージャーコンソール> update-package NUnit -version 2.6.4に移動します。

http://jeremybytes.blogspot.co.ke/2015/11/review-of-unit-testing-makes-me-faster.html

29
collo

私の状況では、「NUnit3 Test Adapter」は無効になっています。再度有効にするには、メニューに移動します

ツール->拡張機能と更新...

左側で「インストール済み」->「すべて」を選択します。

右上隅で「nunit」を検索します。

「NUnit3 Test Adapter」がインストールされている場合は、見つかったアイテムで有効/無効にできます。

enter image description here

23
sahl04

VS 2017および.net coreを使用している場合、 here のように、テストフレームワークへの参照を追加する必要がありますNUnit 3.6.1、テストランナーNUnit3TestAdapter 3.8.0-alpha1およびテストSDKMicrosoft.NET.Test.Sdk 15.0.0.

10
Arvand

作業セットアップ(ソリューションに応じてNUnit2およびNUnit3、および2012年から2017年の間に複数のバージョンのVisual Studio)があり、ある日突然動作が停止しました。VSのソリューションまたはバージョンでテストが検出されませんでした。

私の場合、%localappdata%\Temp\VisualStudioTestExplorerExtensionsを削除するのに役立ちました。 VSの再起動後、すべてが以前と同じように機能しました。

8

Nugetパッケージマネージャーに移動し、次のようにNunitアダプターをダウンロードします。

enter image description here

8
Debendra Dash
  1. 道具
  2. NuGetパッケージマネージャー
  3. ソリューションのNuGetパッケージを管理する
  4. ブラウズ
  5. NUnitTestAdapter.WithFramework
  6. テストをビルド/実行するにはCtrl + R、A

enter image description here

NUnitTestAdapter.WithFrameworkを使用すると、NUnitとNUnit Adapterのバージョン間で矛盾がほとんど/まったくないようになります(つまり、「正常に動作する」)

7
brntsllvn

[TestFixureSetUp]および[Test]を指定したかどうかを確認します

テストクラスで

サンプル:

namespace ClassLibrary1
{
   public class SimpleCalculator
   {
      public Calculator _calculator;
      [TestFixtureSetUp]
      public void initialize()
      {
         _calculator = new Calculator();
      }
      [Test]
      public void DivideTest()
      {
         int a = 10;
         int b = 2;
         int expectedValue = a/b;
         int actualValue = _calculator.Divide(a, b);
         Assert.AreEqual(expectedValue, actualValue, "Functionality not working properly!");
      }
   }   
}
4

このバージョンを使用して解決しました:

NUnit-> 3.2.0

NUnit3TestAdapter-> 3.0.8-ctp-8

他のバージョンとの互換性に問題があると思います。

3
David Castro

この例では、NUnitテストアダプターのバージョンが一致していません。基本的に、NUnitは3.xで、テストアダプターは2.xでした。

フォロー済み

Visual Studio Extension> Visual Studio用のUnit 3.xアダプターをインストールすると、すべてが機能し始めました。

2
daehaai

この問題のもう1つの原因は、プロジェクトをマップされたドライブから開く場合です。VisualStudioはそのようなプロジェクトを適切に処理しますが、Nunitはそれらをサポートしていないようです。

プロジェクトを物理的にコピーすると、問題が修正されました。

1
Adelin

テストプロジェクトを含む新しいソリューションを開始し、元の問題のあるプロジェクトと比較しました。オリジナルには、何らかの理由でapp.configが含まれていました。そのファイルをプロジェクトから除外すると、テストエクスプローラーにテストが再表示されます。

0

Test Explorerウィンドウに突然テストが表示されなかったときに、同じ問題が発生しました。 「NUnit3TestAdapter」の更新バージョンがあり、多くの検索と努力を重ねた結果、

プロジェクトのプロパティで次の値を設定する必要があることがわかりました:[ソリューションエクスプローラーウィンドウで:[プロジェクト]> [プロパティ]を右クリック] [ビルド]タブで、Platform = x64を設定し、Platform target = x86またはAny CPU Buildプロジェクトとすべてのテストを設定しますテストエクスプローラーウィンドウに表示されます。

重要な注意:出力ウィンドウで次のメッセージを見た後、私は解決策に来ました:

「テスト実行では、Framework Framework45およびプラットフォームX86用にビルドされたDLLが使用されます。次のDLLは実行の一部ではありません。AutomationTests.dllは、Framework Framework45およびPlatform X64用にビルドされます。」

0
C. Mar

ここに$ .02を追加するだけで、昨日、似たような問題に遭遇しました。そこでは168のテストが欠落していました。私はこの投稿でほとんどすべてのことを試しました-特にNUnitのバージョンが同じであることを確認して-まったく役に立ちませんでした。その後、テストをプレイリストに分割したことを思い出しました。 およびこれらのしない新しいテストを追加すると自動的に更新されます。そのため、プレイリストBAM!を削除すると、すべてのテストが再び戻りました。

0
Brian

Test Explorerウィンドウに突然テストが表示されなかったときに、同じ問題が発生しました。 「NUnit3TestAdapter」の更新バージョンがあります

そして、多くの検索と努力の後、プロジェクトプロパティで次の値を設定する必要があることがわかりました。[ソリューションエクスプローラーウィンドウで:[プロジェクト]> [プロパティ]を右クリック] [ビルド]タブで、Platform = x64、 CPUがプロジェクトをビルドすると、すべてのテストがテストエクスプローラーウィンドウに表示されます。

重要な注意:出力ウィンドウで次のメッセージを見た後、私は解決策に来ました:

「テスト実行では、Framework Framework45およびプラットフォームX86用にビルドされたDLLが使用されます。次のDLLは実行の一部ではありません。AutomationTests.dllは、Framework Framework45およびPlatform X64用にビルドされます。」

0
C. Mar

また、nunit v3.2.1をアンインストールしたときに、v3.2.1のnunitフレームワーク参照がソリューションエクスプローラーのプロジェクトに残っていることもわかりました。ソリューションエクスプローラー-プロジェクト名>参照

右クリックすると、バージョンが表示されます。これを削除し、[参照]> [参照の追加]を右クリックします。

バージョン2.xバージョンを検索し、ソリューションを追加してから再構築します。

それは私のために働いた!

0
RShome

Opで言及された問題を経験しました

私の場合は、古いプロジェクトを手渡され、テストは実際にテスト対象のシステムの一部でした。外部のテストランナーを使用していたと思われます。

このタスクチェーンは私のために問題を解決しました

  • テストプロジェクトを作成し、
  • テストファイルをそこに移動しました
  • テストプロジェクトがコンパイルされるように参照を追加しました
  • nunitおよびNunitアダプターNuGetパッケージをテストプロジェクトに追加しました
  • 再コンパイル

nunitテストを正常に実行できました。

0
greg

動作したのは、NUnitとNUnit3TestAdapterの両方で以前のバージョンに戻ることだけでした。

0
O.Taaffe

xunit.runner.visualstudio nugetパッケージをアンインストールしてから再インストールする必要がありました。上記のすべての提案を試した後、これを試しました。

0
JayC

NunitとNunit Test Adapterのバージョンをより詳細に確認し、適切なバージョンを使用しました。たとえば、nUnit 2.x.xを使用している場合は、Nunit Test Adapter 2をインストールします。

0
Sameer

これは私を夢中にさせました。すべてのnunit nugetパッケージをアンインストールしてから、NUnitのみを再インストールする必要がありました。

nuget

一方、NUnit 3テストアダプターがインストールされ、有効になりました。

enter image description here

0
rupweb

私もこの問題を抱えていましたが、原因は異なっていました。 F#4.0でVS2017を使用しています。

まず、Visual Studioのコンソールでは、テストが見つからなかった理由が十分に示されていません。テストでDLLのロードに失敗するだけです。したがって、コマンドラインでNUnit3console.exeを使用すると、詳細がわかります。

私の場合、テストアダプターが新しいバージョンのF#Core DLL(4.4.1.0)(F#4.1)を探していたのに対し、私はまだ4.4.0.0(F#4.0)を使用しているためでした。だから私はこれをテストプロジェクトのapp.configに追加しただけです:

  <dependentAssembly>
    <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.0.0" />
  </dependentAssembly>

つまり、以前のF#コアにリダイレクトします。

0
Russ Freeman

VS 2015の場合:

最新のテストアダプタ3には問題があり、NUnitテストケースは表示されませんでした。これがある場合は、それを削除してバージョン2.0にダウングレードします。

私の問題は、NUnit 2テストアダプターをインストールすることで解決します。

0
Amit Kumar

ハングしたmsbuild.exeプロセスがいくつかありました。それが私の問題なのかどうかはわかりませんが、ハングしたプロセスを見つける前に、さまざまなNUnitアダプタを再インストールするのに多くの手間とエラーがかかりました。

0
Andrew Rondeau

テストが発見されない場合、私は同様の問題を抱えていました。 NUnitの正しいバージョンがあり、NUnitとアダプター間でバージョンが一致しており、テストが正しくタグ付けされていました。管理者としてではなく、VS 2017 Enterpriseを実行していました。 VSを管理者として起動した後、テストが表示されました。

0

TestCaseSource属性を使用している場合は、ソースが存在し、 ドキュメント を尊重していることを確認してください。そうでない場合、テストは検出されません。

0
Adelin