NUnit Test Adapter for VS2012 + 2013をインストールしました。最初にインストールしたときに、アダプターテストが表示されていましたが、今日は何らかの理由で表示されなくなりました。ビルド、再構築、クリーニング、再起動後、テストエクスプローラーに何も表示されません。なぜこれが起こるのでしょうか? VS2013 Ultimateを使用しています。
テストプロジェクトが64ビットプラットフォームを対象とするように設定されている場合、テストはNUnitテストアダプターに表示されません。
NUnit3 +バージョンを使用している場合、新しいテストアダプターが利用可能です。
「ツール->拡張機能と更新->オンライン」に移動し、"NUnit3 Test Adapter"を検索してインストールします。
私のテストアセンブリは64ビットです。 Visual Studio 2012の上部にあるメニューバーから、[テスト]-> [テスト設定]-> [既定のプロセッサアーキテクチャ]-> [X64]を選択できました。 [ビルド]メニューの[ソリューションの再構築]の後、テストエクスプローラーですべてのテストを確認できました。これが将来の誰かの助けになることを願っています= D。
「NUnitテストアダプター」をインストールする
[ツール]-> [拡張機能と更新プログラム]-> [オンライン]-> [Nunitテストアダプタ]を検索->結果リストで[NUnitテストアダプタ]をクリック-> [ダウンロード]ボタンをクリック
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
VS 2017および.net coreを使用している場合、 here のように、テストフレームワークへの参照を追加する必要がありますNUnit 3.6.1、テストランナーNUnit3TestAdapter 3.8.0-alpha1およびテストSDKMicrosoft.NET.Test.Sdk 15.0.0.
作業セットアップ(ソリューションに応じてNUnit2およびNUnit3、および2012年から2017年の間に複数のバージョンのVisual Studio)があり、ある日突然動作が停止しました。VSのソリューションまたはバージョンでテストが検出されませんでした。
私の場合、%localappdata%\Temp\VisualStudioTestExplorerExtensions
を削除するのに役立ちました。 VSの再起動後、すべてが以前と同じように機能しました。
[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!");
}
}
}
このバージョンを使用して解決しました:
NUnit-> 3.2.0
NUnit3TestAdapter-> 3.0.8-ctp-8
他のバージョンとの互換性に問題があると思います。
この例では、NUnitテストアダプターのバージョンが一致していません。基本的に、NUnitは3.xで、テストアダプターは2.xでした。
フォロー済み
Visual Studio Extension> Visual Studio用のUnit 3.xアダプターをインストールすると、すべてが機能し始めました。
この問題のもう1つの原因は、プロジェクトをマップされたドライブから開く場合です。VisualStudioはそのようなプロジェクトを適切に処理しますが、Nunitはそれらをサポートしていないようです。
プロジェクトを物理的にコピーすると、問題が修正されました。
テストプロジェクトを含む新しいソリューションを開始し、元の問題のあるプロジェクトと比較しました。オリジナルには、何らかの理由でapp.configが含まれていました。そのファイルをプロジェクトから除外すると、テストエクスプローラーにテストが再表示されます。
Test Explorerウィンドウに突然テストが表示されなかったときに、同じ問題が発生しました。 「NUnit3TestAdapter」の更新バージョンがあり、多くの検索と努力を重ねた結果、
プロジェクトのプロパティで次の値を設定する必要があることがわかりました:[ソリューションエクスプローラーウィンドウで:[プロジェクト]> [プロパティ]を右クリック] [ビルド]タブで、Platform = x64を設定し、Platform target = x86またはAny CPU Buildプロジェクトとすべてのテストを設定しますテストエクスプローラーウィンドウに表示されます。
重要な注意:出力ウィンドウで次のメッセージを見た後、私は解決策に来ました:
「テスト実行では、Framework Framework45およびプラットフォームX86用にビルドされたDLLが使用されます。次のDLLは実行の一部ではありません。AutomationTests.dllは、Framework Framework45およびPlatform X64用にビルドされます。」
ここに$ .02を追加するだけで、昨日、似たような問題に遭遇しました。そこでは168のテストが欠落していました。私はこの投稿でほとんどすべてのことを試しました-特にNUnitのバージョンが同じであることを確認して-まったく役に立ちませんでした。その後、テストをプレイリストに分割したことを思い出しました。 およびこれらのしない新しいテストを追加すると自動的に更新されます。そのため、プレイリストBAM!を削除すると、すべてのテストが再び戻りました。
Test Explorerウィンドウに突然テストが表示されなかったときに、同じ問題が発生しました。 「NUnit3TestAdapter」の更新バージョンがあります
そして、多くの検索と努力の後、プロジェクトプロパティで次の値を設定する必要があることがわかりました。[ソリューションエクスプローラーウィンドウで:[プロジェクト]> [プロパティ]を右クリック] [ビルド]タブで、Platform = x64、 CPUがプロジェクトをビルドすると、すべてのテストがテストエクスプローラーウィンドウに表示されます。
重要な注意:出力ウィンドウで次のメッセージを見た後、私は解決策に来ました:
「テスト実行では、Framework Framework45およびプラットフォームX86用にビルドされたDLLが使用されます。次のDLLは実行の一部ではありません。AutomationTests.dllは、Framework Framework45およびPlatform X64用にビルドされます。」
また、nunit v3.2.1をアンインストールしたときに、v3.2.1のnunitフレームワーク参照がソリューションエクスプローラーのプロジェクトに残っていることもわかりました。ソリューションエクスプローラー-プロジェクト名>参照
右クリックすると、バージョンが表示されます。これを削除し、[参照]> [参照の追加]を右クリックします。
バージョン2.xバージョンを検索し、ソリューションを追加してから再構築します。
それは私のために働いた!
Opで言及された問題を経験しました
私の場合は、古いプロジェクトを手渡され、テストは実際にテスト対象のシステムの一部でした。外部のテストランナーを使用していたと思われます。
このタスクチェーンは私のために問題を解決しました
nunitテストを正常に実行できました。
動作したのは、NUnitとNUnit3TestAdapterの両方で以前のバージョンに戻ることだけでした。
xunit.runner.visualstudio nugetパッケージをアンインストールしてから再インストールする必要がありました。上記のすべての提案を試した後、これを試しました。
NunitとNunit Test Adapterのバージョンをより詳細に確認し、適切なバージョンを使用しました。たとえば、nUnit 2.x.xを使用している場合は、Nunit Test Adapter 2をインストールします。
私もこの問題を抱えていましたが、原因は異なっていました。 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#コアにリダイレクトします。
VS 2015の場合:
最新のテストアダプタ3には問題があり、NUnitテストケースは表示されませんでした。これがある場合は、それを削除してバージョン2.0にダウングレードします。
私の問題は、NUnit 2テストアダプターをインストールすることで解決します。
ハングしたmsbuild.exeプロセスがいくつかありました。それが私の問題なのかどうかはわかりませんが、ハングしたプロセスを見つける前に、さまざまなNUnitアダプタを再インストールするのに多くの手間とエラーがかかりました。
テストが発見されない場合、私は同様の問題を抱えていました。 NUnitの正しいバージョンがあり、NUnitとアダプター間でバージョンが一致しており、テストが正しくタグ付けされていました。管理者としてではなく、VS 2017 Enterpriseを実行していました。 VSを管理者として起動した後、テストが表示されました。
TestCaseSource
属性を使用している場合は、ソースが存在し、 ドキュメント を尊重していることを確認してください。そうでない場合、テストは検出されません。