web-dev-qa-db-ja.com

テストが見つかりません。インストールされているテストディスカバリーとエグゼキューター、プラットフォームとフレームワークのバージョン設定が適切であることを確認して、再試行してください

私は既存のソリューションを.Net 4.6.1にアップグレードする過程にあり、サーバーのビルド中にユニットテストを実行することができませんでした。ローカルで期待どおりに実行され、フレームワークバージョンを.Net 4.5.1に戻すと、サーバー上で再び実行されます。

次のエラーが表示されます。

テストが見つかりません。インストールされているテストディスカバリーとエグゼキューター、プラットフォームとフレームワークのバージョン設定が適切であることを確認して、再試行してください。

私は簡単なセットアップで問題を再現しました:

  • 2つのテスト(1つが失敗、1つが合格)を含む単一のC#単体テストプロジェクトを使用したソリューション。
  • デフォルトテンプレート(TfvcTemplate.12.xaml)を使用したXAMLビルド定義
  • Visual Studio Enterprise 2015 Update 1がインストールされたTFS 2015 Update 1 XAMLビルドサーバー(6つの同様のサーバーがあり、すべて同じ結果を生成します)
74

テスト設定でX86からX64にデフォルトのプロセッサアーキテクチャを変更してみてください。私の場合、これが問題でした。

これは、テスト対象のプロジェクトのプラットフォームターゲットがx64に設定されている場合に発生します。

Screenshot of test settings

48
rubeonline

私のビルドもテストを見つけられませんでした。テストを見つけるための私のセットアップとソリューションは次のとおりです。

VSTS(Visual Studio Team Services)を使用し、ビルドごとにNUGETパッケージを更新するように構成されたビルドを使用しています。私はNUnitを使用しており、次のNUGETコマンド(Visual Studioのパッケージマネージャーコンソールから)を実行してNUnitTestAdapterライブラリをテストプロジェクトに追加し、packages.configをチェックすると、VSTSビルドでテストが実行されることがわかりました。

Install-Package NUnitTestAdapter

Mauriceがこの投稿へのコメントでNUnit3について言及しているように、次の NUGETパッケージ を使用します(リンク上の他のユーティリティを探します。つまり、dotnet CLIおよびPaket CLI)。

Install-Package NUnit3TestAdapter

お役に立てれば。

29
Nick Rubino

私の場合、:

1)テストプロジェクトをnetcore 2.0に変換します(netstandard 2.0でした)

2)nugetパッケージxunit.runner.visualstudioを追加します

参照: http://www.neekgreen.com/2017/11/20/xunit-no-test-is-available/

16
woohoo

このエラーが発生し、解決できました。

  1. Visual Studio Professional 2017を使用しています
  2. VSで、[ツール]-> [拡張機能と更新プログラム]に移動しました
  3. メニューの上部で、NUnitアダプタが無効になっていることに気付きました
  4. [有効にする]ボタンをクリックしました
  5. エラーなしでテストを開始できました。
11
J Wood

MSTestを使用しています。私にとっては、バージョンの不一致と別の依存パッケージの欠落-

1)パッケージフォルダーには、MSTest.TestFramework.1.2.1パッケージのみが含まれています。私のプロジェクトファイル(.csproj)では、ターゲット名の参照はMSTest.TestAdapter.1.2.0パッケージであり、パッケージフォルダーにはありませんでした。 packages.configにはMSTest.TestFramework.1.2.0の参照もあります。

2)そこで、Nuget Package ManagerからMSTest.TestAdapter.1.2.0をインストールし、プロジェクトとパッケージファイルでMSTest.TestFrameworkバージョンを1.2.0に合わせました。最後に、参照にMicrosoft.VisualStudio.TestPlatform.TestFrameworkおよびMicrosoft.VisualStudio.TestPlatform.TestFramework.Extensionsを追加します。

その後、すべてがOKでした。これが誰かを助けることを願っています。

9
quasar

この問題はVisual Studio 2017で再び表面化します。おそらく別のバグですが、同じ結果になります。

動作していると思われる1つの回避策は、影響を受けるマシンからMicrosoft Visual Studio 2017 Remote Debuggerをアンインストールすることです。

6
Csapi007

.Net 4.6.2でVSTSで同じ問題に遭遇しました。 VSTSコンソールの出力からこれを見ている場合、@ Sushilが提供する回避策はVSTSでも機能し、必要です。残念ながら、Microsoftが提供する「Test Assemblies」タスクはパスするため、出力を確認して実際に実行されたテストが見つからない場合を除き、問題があることは本当にわかりません。

VSTS Test Fix

4
raterus

VS 2017および4.6.2のテストプロジェクトの問題ごとに、次の手順でこれを修正しました。

  1. Microsoft.VisualStudio.QualityTools.UnitTestFramework.dllおよび拡張機能への参照を削除する
  2. Microsoft.VisualStudio.QualityTools.UnitTestFramework.Updated nugetパッケージをインストールします
3
Ste Brown
  1. NUGETパッケージからNunitおよびNUnitTestAdapterの最新バージョンをインストールします。
  2. ---->テスト----->テスト設定--->デフォルトのプロセッサアーキテクチャに移動------> X64に変更
  3. ソリューションを構築します。
  4. これにより、単体テストでのテストとデバッガーの実行の問題が解決され、機能し始めます。

これは.Net 4.6の既知の問題です。

TFS 2015 UPdate1を使用したXAML TFSビルドの一部として.Net 4.6.x単体テストを実行できないSource:https:// connect .Microsoft.com/VisualStudio/feedback/details/224572

参照用の同様の質問を次に示します。 TFS 2015 XAMLビルドサーバーの.Net 4.6ユニットテストを実行できません

2
PatrickLu-MSFT

「Microsoft.NET.Test.Sdk」ナゲットがインストールされていることを確認してください。

2
lordpansar

ソリューションをヒープにスローします。私の場合、既存のソリューションにいくつかのプロジェクトとそれらのテストプロジェクトを追加しています。 MSTestを使用しています。互換性の問題を引き起こしていたソリューションで有効にされた以前のUnitTest.testsettingsファイルがありました。

設定ファイルをクリックするとチェックが削除され、テストのテスト実行は成功しました。

enter image description here

1
jwatts1980

プロジェクトのすべてのテスト関連のNuGetパッケージを再インストールして、この問題を修正しました:Xunit、Xunit.runner.vistualstudio、Microsoft.Net.Test.Sdk

1
n.shojaei

道を見つけた!おそらく最もオーソドックスではありませんが、急いで助けてくれました。

  1. [ツール]> [NuGetパッケージマネージャー]から、MSTest.TestAdapterおよびMSTest.TestAdapterFrameworkパッケージを1.4.0に更新します。
  2. ソリューションをクリーンにし、テストを再度実行します。

バージョンに特別なことはないと思いますが、それを更新すると、ソリューション/プロジェクトで悪い参照があればすべて削除されます。

1
dave_077

同様の問題が発生していましたが、テストプロジェクトにapp.configファイルが追加されていることに気づきました。この設定ファイルを削除すると、修正されました。

1
thatWiseGuy

VS 2017でnUnitを試してみたところ、同様の問題に直面しましたが、これはコアプロジェクトではありません。 NUnit3TestAdapterをインストールすると、問題が修正されました。

0

ユニットテストクラスがパブリックではなかったため、このエラーが発生しました。

例:

class ClientTests

出力のエラー:

...\bin\Debug\Tests.dll] UTA001: TestClass attribute defined on non-public class ClientTests

補正:

public class ClientTests

0
Jared Beach

CommandaderにTestAdapterPathを追加した後、それは私のために働いた:

vstest.console.exe Xom.Gci.Lvf.FileParserInvoker.UnitTests.dll /TestAdapterPath:"C:\****\****\{SolutionFolder}"
0
dixiashi

私の場合、Nunit3アダプターの再インストール、一時フォルダーの削除、アーキテクチャーの変更などは機能しませんでした。 Daemon Resharperが原因で問題が発生しました。

Add or Remove Programs> Find Resharper > Repair > Install again > Restart VS 

これで問題が解決します。

0
user1570636

このエラーは、戻り値のタイプが間違っている場合、非同期テストで発生する可能性があります。戻り値の型はTaskであり、voidではありません。

0
user3533716

Visual Studio 2017では、NUnitTestAdapterをアンインストールして再インストールするか、NUnitTestAdapter.WithFrameworkパッケージなどの新しいパッケージをインストールして、問題はなくなりました。

0
Ali Yousefi

これは、先に@Sushilが提起したソリューションを要約するためのものです。

これは、Team Foundation Server 2015 RTM + Update 1の既知の問題であり、Update 2で修正される予定です 参照

@Sushil here で説明されている回避策があります。これには、テストランナーを古い.Netフレームワークに強制する.runsettingsファイルの追加が含まれます(「テストの追加/編集」で指定する必要はありません)ビルドプロセスエディターに直接追加するための[実行]ダイアログは無視されます)。

0

多段階のビルドを使用してdocker内でテストを実行している場合、テストは見つかりません。以下のDockerfileセクションのようなプロジェクトファイルだけでなく、すべてのファイルをコピーしてください。

FROM mcr.Microsoft.com/dotnet/core/sdk:2.2-stretch AS build
WORKDIR /src
COPY ["MainProject/FirstApp.csproj", "MainProject/"]
COPY ["TestProject/*", "TestProject/"]

RUN dotnet restore "TestProject/TestProject.csproj"
RUN dotnet build "TestProject/TestProject.csproj" -c Release
RUN dotnet test "TestProject/TestProject.csproj" -c Release
0
Bassam Gamal

私は同じ問題を抱えています。 Visual Studio 2017 Community Editionを使用しています。

enter image description here

これらの手順を使用して、すべてのテストケースを正常に検出し、正常に実行しました。

  • まず、拡張機能と更新プログラムに移動し、NUnit3テストアダプターをインストールします。既にお持ちの場合は、有効にしてください。

  • Visual Studio 2017を再起動すると、自動的にプロンプ​​トが表示されます
    続行するタスクを終了するようプロンプトが表示された場合、拡張機能をインストールします
    インストール、「タスクの終了」をクリックするだけです。

  • その後、テストプロジェクトを再構築すると、すべてのテストケースが識別され、テストケースの実行を開始できるようになります。

0
Willy David Jr

私の場合、テストは発見されましたが、実行すると "Test not Available ..."と(in)famous:「テストディスカバリーとエグゼキューターが登録されていること、プラットフォームとフレームワークのバージョン設定が適切であることを確認して、再試行してください。」

このエラーはVisual Studio(ドットネットCLIツールとほぼ裸のUNitテストでテスト済み)に依存せず、.NET 4.7.1を対象とした場合にのみ発生しました。 dotnetcoreアプリは正常に動作します。

また、Nuint3 CLI nunit3-console.exe Tests.csprojを使用してテストを実行すると、エラーが表示されます。

"どちらのアセンブリにもテストが含まれていないか、適切なテストドライバが見つかりません。"

エラーは、テストアダプターが(マップされた)ネットワークドライブまたは共有で見つからず、ローカルでコピーによって解決され、再実行されたためでした。

0
Falco Alexander

TFS 2017で.Net Coreをビルドパイプラインと共に使用すると、Visual Studioのテストステップが実際にテストを実行せずに通過していました。ステップを編集する必要がありました:「高度な実行オプション」->「その他のコンソールオプション」:

/framework:".NETCoreApp,Version=v2.0"

(そのフィールドには/platform:x64も含まれています)

0
Mark