Visual Studio 2017で単体テストが検出されない


213

VS 2017をインストールしてから苦労しています。ユニットテストはコマンドラインの「ドットネットテスト」からのみ実行されるようです。

私のプロジェクトは.NET Core 1.1.1です。SDKと1.1.1のフレームワークの更新がインストールされています。

私はMSDNでサンプル(https://msdn.microsoft.com/en-us/library/ms182532.aspx)を試しましたが、これもまったく同じように失敗します。

テストとメインプロジェクトのすべてのNuGetパッケージが最新です。そして、テストプロジェクトとメインプロジェクトの両方がエラーなしでビルドされます。テストはコマンドラインから正常に実行されます。

誰かがVS 2017で実行するユニットテストを取得していますか?

ありがとう、ジョン


更新-延長

以下は、GitHubで動作しない簡単なテストプロジェクトの例です。これはxUnitの例ですが、MSテストで構築されたNUnitとビジュアルスタジオを試しました。どのようなテストや変更を加えても、VSテストランナーにテストを見つけることはできません。

私が試したこと

  • VSテストキャッシュファイルの削除 DEL %TEMP%\VisualStudioTestExplorerExtensions
  • VSの再起動
  • テストエクスプローラーを閉じる/開く
  • xUnitがインストールされている場合Microsoft.DotNet.InternalAbstractionsSO postを参照
  • NUnitの場合、アダプターがインストールされており、NUnitパッケージと同じバージョン(3)であることを確認してください
  • test -> test settings -> default processor architecture x86に設定されています

質問
缶誰でもVSテストエクスプローラが正常にユニットテストを見つけるVS2017で、.NETのコア1.1.0溶液(.csprojプロジェクトファイル)の実施例を提供してくださいOR私に与えられた例では、問題を示しています。


VS2017は必要なすべてのパッケージをインストールしないことがわかりました。MonoGameをWindows 10とVS 2017を新しくインストールした古いPCから新しいPCに移動しようとすると、パッケージの不足に関する奇妙なエラーが発生し始めました。VS2017と一緒にVS2015をインストールした後、すべての問題がなくなりました。VS2015を追加でインストールしてみてください。
マテウス2017年

2
Visual Studioインストーラーでテストパッケージをインストールしよう
Markiian Benovskyi

VS 2017ですべての環境変数が正しく設定されているかどうかを調べています。
John Pezzanite 2017年

1
NUnitの場合、アダプターにはNuGetパッケージを使用する必要があり、それは3.8.0-alpha1以降である必要があります。
Rob Prouse

2
私の場合、それはapp.config私のテストプロジェクト内のファイルの単なる存在でした。stackoverflow.com / a / 47497668 / 67824
Ohad Schneider

回答:


189

私の場合、テストアダプターとテストフレームワークをアップグレードするだけでよいことがわかりました。できました。

NuGetパッケージマネージャーの使用例:

ここに画像の説明を入力してください


4
これも役に立ちました!ソリューションレベルで「Nugetパッケージの管理」を行うことができ、これが必要なすべてのプロジェクトに対してこれを行うことができることに注意してください。次に、「あいまいな参照」エラーが発生する可能性があります。これらの場合は、参照から古いDLL(Microsoft.VisualStudio.QualityTools.UnitTestFramework)を削除するだけです
Prashanth Subramanian

48
これらは、NuGetパッケージではなく、Visual Studioの拡張機能である必要があります。
Jaider 2017

1
私たちは古いMSTestプロジェクトをたくさん持っていますが、それがNuGetパッケージに移動したことを知りませんでした。これは私にとってもそれを解決し、VS Test Explorerも私のテストを発見できないことに気づくまで、ReSharperの新しいリリースのバグだと当初は思っていました。
デビッドアンダーソン、

1
私はこの答えが述べるのとまったく同じことをしました。私のVS2017ソリューションでは、MSTestプロジェクトを追加し、いくつかのテストを追加しましたが、ソリューションをビルドすると、次のような結果になります。したがって、テストプロジェクトの場合、NuGetパッケージマネージャー(ソリューションレベルでも実行可能)で、MSTest.TestAdapterとMSTest.TestFrameworkを両方ともv1.1.18からv1.2.0に更新しました。次に、ビルドを実行した後、テストがテストエクスプローラーに表示されます。
カーショウ2018

1
特定のテストプロジェクトのためにVS2017のnugetパッケージマネージャーに移動し、nunitなどのさまざまなパッケージを単に更新してから、ビルド>再ビルドして、すべて問題なく動作するようになりました。
Tahir Khalid 2018

126

これは私のためにうまくいきました(何かを破損したのがワークスペースの変更の結果であるかどうかわかりません):

%TEMP%\ VisualStudioTestExplorerExtensionsのVSテストキャッシュファイルを削除し、VS2017を再起動します。


4
これは一度だけ機能し、その後は機能しませんでした。(今回は)私にとってそれを修正したのは、TestResultsフォルダーとbin / obj(この一時ディレクトリーのクリーンアップとともに)を削除することでした
icesar

24
誰でもその驚異%TEMP%-コマンドウィンドウと型をもたらすecho %TEMP%
mike123

21
フォルダはtempに存在しません:/
Douglas Gaskell

そのような行動の原因は何ですか?
Mykhailo Seniutovych 2018

1
%TEMP%にアクセスする最も簡単な方法は、win + Rを
押して

58

.NET CoreのテストアダプターのAPIは、Visual Studio 2017のリリースと、project.json形式から形式への移行に伴って変更されましたcsproj。これにより、既存のdotnet-test-*アダプターはdotnet-test-nunit廃止されました。

アダプターは更新されましたが、Visual Studioまたはコマンドラインでテストをセットアップして実行する方法dotnet testでは、テストプロジェクトで異なる参照が必要です。それらが古くなっているので、その形式でパッケージを参照していることがわかるドキュメントには注意してくださいdotnet-test-*

まず、テストプロジェクトは.NET Coreまたは.NET Frameworkのいずれかの特定のプラットフォームをターゲットにする必要があります。テストしているコードが.NET Standardであっても、.NET Standardをターゲットにすることはできません。これは、テストのターゲットが、テストを実行するプラットフォームを示しているためです。.NET Standardは、多くのプラットフォームで実行できるという点でPCL(Portable Class Library)に似ています。

次に、への参照Microsoft.NET.Test.Sdk、選択したテストフレームワーク、および互換性のあるテストアダプターを追加する必要があります。NUnitの場合、参照は次のようになります。

<itemgroup>
    <packagereference Include="Microsoft.NET.Test.Sdk" Version="15.0.0"></packagereference>
    <packagereference Include="NUnit" Version="3.7.1"></packagereference>
    <packagereference Include="NUnit3TestAdapter" Version="3.8.0"></packagereference>
</itemgroup>

上記のコメントは追加について言及しています、

<ItemGroup>
    <Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
</ItemGroup>

これは厳密には必須ではありませんが、役立ちます。Visual Studioによってすべての単体テストプロジェクトに自動的に追加され、テストを含むプロジェクトをすばやく見つけることができます。

テストがVisual Studioに表示されない場合、最初に試すことは、ソリューションを閉じてから再度開くことです。プロジェクトの編集時にプロジェクトへの変更を検出しないVisual Studioのバグがあるようです。

詳細については、「Visual Studio 2017でのNUnitを使用した.NET Coreのテスト」を参照してください。


2
.NET Standardではなく.NET Frameworkをターゲットにするとうまくいきました。ありがとう。
ベングリスウォルド

7
そのMicrosoft.NET.Test.SDK参照が私のプロジェクトに欠落しており、表示に依存しているものはどこにもありませんでした。nugetコンソール経由で追加すると、すべてが機能し始めました。参照リストをありがとう!
GWhite 2017

このフォルダーを同僚から一時ディレクトリにコピーしてVSを再起動する必要がありました:%TEMP%\ VisualStudioTestExplorerExtensions \ MSTest.TestAdapter.1.1.18
Heiner

ターゲットフレームワークを変更した場合、どうすればnetstandard 2.0プロジェクトをテストできますか?プロジェクトnetstandard2.0は、net46をタグ付けするプロジェクトから参照できないため、これ以上コンパイルできません
Jerome2606

1
これでうまくいきました。詳細な解決策をありがとう。
Talha Ashfaque

42

私は同じ問題を抱えていて、次のようにしてそれを動作させました..:

  • まず、開いているすべてのVisual Studioインスタンスを閉じて、次のフォルダーを削除します:%TEMP%\ VisualStudioTestExplorerExtensions(Visual Studioでテストを実行中
  • Nugetパッケージマネージャーに移動し、最初にMicrosoft.NET.Test.Sdk(15.3.0-preview-20170425-07)をインストールしてから、xunit.runner.visualstudio(2.3.0-beta1-build1309)をインストールします。テストを検出するために最新のVS 2017を取得するためにインストールしなければならないすべてのパッケージを確認するには、添付のNugetスクリーンショットを参照してください。Nugetスクリーンショット

35
%Temp%\ VisualStudioTestExplorerExtensionsを削除するだけで十分です。
ファンパブロゴメス

うん。それを削除してVSを再起動するだけで修正されました。
ファンカルロス

そもそも何がこれを引き起こしているのか誰か知っていますか?私はこれを2度起こしましたが、そのフォルダを削除してVSを再起動するとうまくいきました。変だ。
RubyHaus

@PmanAce-私は実際にそうしました。2つの異なるTFSインスタンス(プロジェクトごとに1つ)を使用しているため、プロジェクトを切り替えると、ワークスペースが自動的に変更されます。
RubyHaus

フォルダを削除し、ナゲットを追加するとうまくいくMicrosoft.NET.Test.Sdkようです。StackOverflowに感謝します。(.NET Framework WebApi 2ソリューション)
bkwdesign 2018年

40

テストクラスを公開するのを忘れると、内部のテストメソッドが発見されなくなります

デフォルトのxUnitプロジェクトがあり、サンプルのUnitTest1.csを削除して、コントローラーテストクラスといくつかのテストで置き換えましたが、何も見つかりませんでした

一言で言えば、xUnit、Test.Sdk、xUnit.runnerパッケージを更新してプロジェクトを再ビルドした後、ビルドエラーが発生しました。

エラーxUnit1000テストクラスはパブリックである必要があります

ありがたいことに、更新されたバージョンは私にいくつかの問題を回避するためにこの例外を投げました

テストクラスをパブリックに修正して問題を修正


6
なぜ反対票を投じたのかはわかりませんが、私の朝のコーヒーの前に100%これは私によって見落とされました。
Andrei

1
この質問/問題に対する他のすべての回答を試しましたが、これが最終的に機能しました!
FastTrackの

3
それは信じられないほど恥ずかしいですが、何でも。陽気なことは、VS2017でテストスイートケースを作成する場合、クラスを生成するのではなくpublicクラスを生成するだけなので、public識別子を追加するまでクラスを検出しません。
briosheje

もちろん。私の悪い-mstestにはこの機能が必要です。
クリスモグラム2018年

10

私の場合、テストプロジェクトのターゲットをx64アーキテクチャに設定し、テスト設定のアーキテクチャ(テスト->既定のプロセッサアーキテクチャ)をに変更しましたx86。彼らは一致しませんでした。

テスト設定アーキテクチャをに設定しx64て再構築した後、すべてのテストが再度発見されました。


vs2017の設定メニューからのテスト->テスト設定->デフォルトのプロセッサアーキテクチャ
IcyBrk

8

UnitTestを見つけるVS 2017にも問題がありました。それはジョンが求めていた正確な問題ではありませんでした-しかし、これは私が探していたグーグルでの最初の結果でしたので、私の問題を共有したいと思いました。

VS2010からVS2013、VS2015に移行するレガシーソリューションがありました。VS2017では、[TestMethod]属性の名前空間が変更されたようです。

使う前は

Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0

プロジェクトに新しいTest.dllを作成し、それをデフォルトで使用しました

Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0

したがって、私の解決策は、VS2017内から新しいUnitTestプロジェクトを作成することでした。古いテストプロジェクトのアセンブリ参照を変更することも可能だったでしょう。新しいリファレンスでVS2017はそれらの単体テストを発見しました。


悲しいことに、新しいユニットテストプロジェクトでも、テストは表示されません:/
Douglas Gaskell

7

MSDNで古くなった記事を読まないでください。.NET Core関連資料はdocs.microsoft.comにあります

https://docs.microsoft.com/en-us/dotnet/articles/core/testing/

一般的に言って、ユニットテストケースを含めるには.NET Coreコンソールアプリが必要です。


どうもありがとう、レックス。この記事が正しい場合、.NET Coreをテストする唯一の方法はコマンドラインからです-したがって、VS 2015でテストを実行する際に行っていたすべてのVS統合が失われます。これは正しいですか?
John Pezzanite 2017年

xUnit.netまたはMSTestを使用していますか?
Lex Li

@JohnPezzaniteは、あなたが何をしたかもっと表示する必要があります(おそらくGitHubリポジトリであれば可能です)。私はGitHubで完璧に機能するプロジェクトを持っています。
Lex Li

私が提供した行の例に従ってください。私は.NET標準と.NET Coreで、例のようなMicrosoftのユニットテストとxUnitでそれを試しました。.NET標準はVS 2017と統合されますが、.NET Coreはコマンドラインからのみ実行されます。しかし、私は上で述べたことを繰り返します。Microsoftは2017年VSすべての.NETのコアユニットテストの統合フォームを削除しているように聞こえる
ジョンPezzanite

@JohnPezzaniteテストGitHub.com/lextm/sharpsnmplibとそのNetStandardソリューション。
Lex Li

6

私にとって問題は、内部クラスに誤ってテストケースを配置したことでした

[TestClass]
  internal class TestLib {
}

これにより、テストケースが特定されませんでした。


5

正しいMicrosoft.NET.Test.Sdkを使用していることを確認してください。

<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />

プレリリース版は使用しないでください。または、コンソールアプリ(ライブラリではない)に変更する必要があります。同様の問題がありますが、最新のリリース(15.0.0)で再び機能し始めます。

また、以下を追加する必要がある場合があります。

  <ItemGroup>
    <Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
  </ItemGroup>

必須ではないと思います。


これはどのファイルにありますか?プロジェクト(* .csproj)ファイルに "Service Include"パーツはありますが、PackageReferenceは見つかりません。
クリスベネット2017

* test.csprojファイルの@ChrisBennet。
エフゲニー・ナボコフ2017

1
@ evgeni-nabokovは正しいです。これらの変更はすべて、[project] .test.csprojファイルにあります。ソリューション内のプロジェクトを右クリックし、[[プロジェクト] .test.csprojの編集]を選択します。例は、github.com
Alex Altotsky

5

OPが彼のチェックリストにこれを記載していることは知っていますが、Visual Studio 2017のクリーンインストールを実行して新しいプロジェクトをセットアップするときに、その点を見落とすのは簡単です。別にNUnitのプロジェクトテンプレートNUnitのフレームワーク 1つのニーズをNuGetコマンドを使用して例えば、個別にNUnitのアダプタをインストールしますInstall-Package NUnit3TestAdapter -Version 3.9.0。その後、Visual Studio Community 2017はユニットテストを問題なく発見し始めました。


1
これは私を助けました!
YvesR 2018

OMG、これは私のためにそれをやった。賞金であなたをびしょぬれにすることができれば、そうします。
アッシュ

これは私にとって有効な唯一の解決策でした、ありがとう!
Vadim Tofan

5

私の場合、プロジェクトを新しいソリューションに移動した後、テストエクスプローラーはテストを見つけることができませんでした。

答えは、私のプロジェクトで古いMSテストアダプターへの参照があったことだけです。

私のcs.projファイルに、MS Test Adapterのバージョン1.1.11の以下の行の複製がありました。

<Import Project="..\packages\MSTest.TestAdapter.1.1.18\build\net45\MSTest.TestAdapter.props" Condition="Exists('..\packages\MSTest.TestAdapter.1.1.18\build\net45\MSTest.TestAdapter.props')" />

問題を解決するには、

  1. プロジェクトを右クリックし、「プロジェクトのアンロード」を選択します。
  2. プロジェクトを右クリックして「編集」を選択します
  3. 古いバージョンのアダプターをインポートする行を削除します。
  4. プロジェクトを右クリックし、「プロジェクトの再読み込み」を選択します。
  5. ソリューション/プロジェクトの再構築

同じ問題があった。ソリューションの削除と再構築が機能しませんでした。再起動されたVSとテストが発見されました!
マイクワード

4

Visual Studioがテストを見つけられず、メソッドのほかにテストを実行するためのボタンが表示されず、プロジェクト内のすべてのテストを実行しても選択されなかったため、この問題が発生しました。

私のテストクラスは公開されていませんでした。公開すると、VSはテストを発見できるようになります。


2

私にとっては、Visual Studio 2017で完璧に機能する新しいテストプロジェクトを作成する方が簡単でした。テストファイルをコピーし、必要に応じて参照とNuGetパッケージを追加するだけです。

ここに画像の説明を入力してください


新しいプロジェクトを作成すると、おそらく頭痛の時間を節約できました!
M.kazem Akhgary 2018年

2

私の場合、それは私が以前の.Netバージョンからテストプロジェクトをアップグレードしたプロジェクトでした。app.configには、依存アセンブリの以前のバージョンへのアセンブリバインディングがありました。

app.configのassembnlybindingsを修正した後、私のテストが発見されました。


2

発見

上記の上位の回答が機能しませんでした(再起動、バージョン1.1.18への更新...既に更新済み、一時ファイルの削除、NuGetキャッシュのクリアなど)。

私が発見したのは、異なるテストプロジェクトでMSTest.TestAdapterMSTest.Frameworkへの参照が異なることです(私のソリューションには2つあります)。1つは1.1.18のように指摘されました...

packages.config

<package id="MSTest.TestAdapter" version="1.1.18" targetFramework="net461" />
<package id="MSTest.TestFramework" version="1.1.18" targetFramework="net461" />

...しかし、別のものには1.1.11への参照があります。上記の回答のいくつかは、Visual Studioを再起動した後、2つのバージョンのライブラリが一時ディレクトリ(%TEMP%\ VisualStudioTestExplorerExtensions \)に表示されたときに、この発見につながりました。

解決

packages.configを1.1.18バージョンに更新するだけで、VSの単体テスト機能が復元されました。MSTestライブラリを並べて参照できないバグがいくつかあるようです。これがお役に立てば幸いです。

より詳しい情報:

  • Visual Studio 2017 Ent:15.5.6(この問題を解決するために15.0.1から更新しましたが、両方にありました)

2

解決策はapp.config、ユニットテストプロジェクトからファイルを削除することでした。テストが再び表示されます。

このファイルは、プロジェクト参照に実際には存在しなかったbindingredirect内のいくつかのdllを参照していました。プロジェクトに厳密に必要なアセンブリバインディングを再度追加します。


1

私の場合、問題を引き起こしているソリューションに存在するUWPプロジェクトでした。

UWPプロジェクトをアンロードすると、テストが発見されました。再度ロードすると、テストは再び消えました。

すべてのプロジェクトをアンロードして、テストプロジェクトのみを保持してください。10の再構築ソリューションとテストシャウンドがテストランナーに表示されます。プロジェクトを1つずつ読み込み、毎回ソリューションを再構築して、問題の原因となっているプロジェクトを特定します

サンプルレポ

VSバグレポート


応答を感謝しますが、これは私の問題ではありません。質問でリンクしたサンプルリポジトリを見ると、ソリューションにはプロジェクトが1つしかありません。削除する他のプロジェクトはありません。その解決策はテストですが、実際の解決策でプロジェクトをアンロードするときにあなたが言ったことを試しましたが、うまくいきませんでした。
rayepps 2017年

1

問題

問題は、Visual Studioがマシンのドットネットコアバージョンで「混乱」していることです。コントロールパネル->アンインストールプログラムに行ったとき、8つの異なるdotnetコアSDKとランタイムがインストールされていました。これが原因で、VSがテストを検索しようとすると、暗黙のうちにエラーが発生しました。

問題を検証する

コマンドラインに移動してdotnetのバージョンを取得することで、問題を検証できます$ dotnet --version。インストールした最新バージョン以外のものが表示される場合は、マシンに不一致があり、正しいバージョンを使用していません。例... dotnetコアが1.0.1インストールされているが、コマンドプロンプトでバージョンを取得し、それが1.0.0問題だと言った場合。

ソリューション

古いものをすべて削除します。私が削除する必要があるもの(最も古いdotnet rcバージョン)だけから始めましたが、問題をテストするときにそれでも間違ったバージョンが表示されました。結局、私は完全な掃除をすることを認めました。私...

  • すべてのVisual Studioアプリケーションをアンインストールしました(私のマシンVS2015およびVS2017)
  • dotnetコアのすべてのバージョンをアンインストール(最新のものも含む)

私のマシンがすべてのVSを完全に空にしてから、VS2017 のみをインストールしました(最新のdotnetがパッケージされています)。私はxUnitのテストプロジェクトを作成し、テストエクスプローラは、テストがすぐに見つけ解決しよう

これはやり過ぎのように思えるかもしれませんが、私は他の方法でこれを修正するために2週間を費やしました。問題が発生している場合は、それを行うだけで、アイテムのアンインストール/再インストールに数時間かかる場合がありますが、おそらく時間を節約できます。

参考文献

  • @epestic ブログの投稿で、問題の修正について詳しく説明しています。

1

私はすべてを試しましたが、助けにはなりませんでした。私の場合、いくつかのテストプロジェクトを含むソリューションがあり、そのうちのいくつかは古いms-testフレームワークを使用していたため、Visual Studioはそれらのみを検出しました。

受け入れられた回答に示されているように、すべてのテストプロジェクトにテストフレームワークパッケージをインストールしました。次に、古い品質ツールへの参照を削除し、Visual Studioを再起動すると、すべてのテストが表示されます。


1

C ++の場合:

C ++テストについては特別な質問はありませんが、トピックはほとんど同じなので、テストの発見で問題が発生したときに助けになったのは次のとおりです。

C ++デスクトップ開発のみをインストールした場合、解決策は、オプションのC ++ユニバーサルWindowsプラットフォームツールを使用してユニバーサルWindowsプラットフォーム開発もインストールすることです。これらは、Visual Studio Webインストーラーで選択できます。

その後、テストプロジェクトを再構築すると、テスト検出が機能します。

ところで、私はVS2017で単体テストプロジェクトを作成しました。一部のユーザーが、VS2015からVS2017に移行されたプロジェクトに発見の問題があることを述べたため、重要になる可能性があります。


1

古い.dllを削除すると役立つはずです。C:\ Users(yourusername)\ AppData \ Local \ Tempの%TEMP%ディレクトリにある一時ファイルをクリアする


1

同じ問題がありました。私の解決策は大丈夫でしたが、突然解決策を開いたときに、テストがなくなっていることがわかりました。

最後に、(NuGet Managerを使用して)非常に古いバージョンにダウングレードMicrosoft.VisualStudio.TestPlatform.TestFrameworkしてMicrosoft.VisualStudio.TestPlatform.TestFramework.Extensionsパッケージ化し、テストメソッドが表示されました。その後、最新バージョンにアップグレードしましたが、まだそこにありました。

したがって、パッケージをダウングレードしてアップグレードするだけです。


1

私の場合、上記のどれも私を助けません。しかし、NUNit3TestAdapterをバージョン3.8.0にダウングレードしてから、最新の(3.10.0)にアップグレードします


1

テストの名前空間の変更が機能する場合があります。私は次のようなフォルダ構造を持っていました:

A |___B | |___D |___C___E

名前空間はTests。<name>のようにフラットであり、テストウィンドウに表示されませんでした。名前空間をディレクトリの構造に変更すると、すべてのテストが表示されました。これで、必要な他の名前空間構造に戻すことができました。

プロジェクトをビルドすることを忘れないでください!


1

.NET Frameworkの場合、テストプロジェクトでは、以前は次のDLLへの参照がありました。

Microsoft.VisualStudio.TestPlatform.TestFramework
Microsoft.VisualStudio.TestPlatform.TestFramework.Extentions

私はそれらを削除し、以下への参照を追加しました:

Microsoft.VisualStudio.QualityTools.UnitTestFramework

その後、すべてのテストが表示され、以前と同じように機能し始めました。

上記の他の提案のほとんどすべてを試しましたが、テストDLLを再参照するだけで問題ありませんでした。私の場合、この回答を投稿しました。


1

私の場合、解決するために同じ問題に直面していました

  1. Windowsコンソール(windowsキー+ cmd)を開きました。
  2. プロジェクトが作成されたフォルダに移動します。
  3. コマンド「dotnet test」を実行すると、基本的にはVisual Studioが実行するテストと同じですが、コンソールから実行すると、完全なトレースを確認できます。
  4. このエラーメッセージ「非パブリッククラスMSTest.TestController.BaseTestで定義されたTestClass属性」が表示されました
  5. だから私はテストケースに行き、それをパブリックとしてマークし、再度ビルドし、私のテストは正しく表示されています

0

最初は、MSTestを使用しようとしました。その後、Nunitテストに変更します。次に、MSTestをバックアップします。すべてのnUnitコードと参照を削除しましたが、テストエクスプローラーにMSTestメソッドが表示されませんでした。解決策:すべてのmstest nuget参照を削除して再インストールしました。できました。


0

私にとって、テストプロジェクトの.csprojファイルのTargetFramework を

  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>

  <PropertyGroup>
    <TargetFramework>net46</TargetFramework>
  </PropertyGroup>

働いた。


0

私の場合、問題はプロジェクトタイプが静的ライブラリ(lib)に設定されていて、動的ライブラリ(dll)である必要があります

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.