web-dev-qa-db-ja.com

ResharperがNUnitテストを取得しないのはなぜですか?

最近、MSTestからNUnitに変換しました。私はこれをしました

  • [TestMethod]のすべての出現箇所を[Test]に、[TestClass][Test]に置き換えます。
  • また、Microsoft.VisualStudio ...参照を削除し、NUnit.frameworknugetパッケージを追加しました。

私がそれを行ったので、Resharperはメソッドの横に小さなテストアイコンを表示していません。また、Ctrl + U、Rを使用してテストを実行すると、正しいカウントが表示されますが、実際には実行されません。

誰か考えがありますか?

編集:Test.Webという名前の新しいクラスを作成し、[TestFixture]だけで単純なクラスを作成し、Resharperがそれを即座に認識したため、アセンブリに何か問題があるはずです。

23
taylonr

議会に問題がありました。何なのかわかりません。しかし、私は新しい空のクラスライブラリを作成し、NUnit、Should、Moqをインストールしました。次に、前のアセンブリから新しいクラスにクラスをコピーし、voilá、すべてが機能しました。

3
taylonr

私は同じ問題を抱えていて、次のように解決しました:

  1. Resharperオプション->ツール->ユニットテスト->ユニットテストプロバイダーに移動します
  2. Nunit以外の選択を解除し、[OK]を押します。
  3. これで機能するはずです。無効にしたプロバイダーを再選択しても、引き続き機能するはずです。
15
Oren

ソースディレクトリ(ソリューションファイルと同じディレクトリ内)から.ReSharper.userファイルを削除すると、同じ問題が解決しました。

10
Michiel Overeem

なんらかの理由で動作しなくなったときに問題が発生しました。

ソリューションResharper-> Options-> Tools-> "Unit Testing"NUnitのような各サブアイテムで、サポートするテストのチェックボックスを設定します。 "Enable NUnit 3x support"のようなものがあります。

このような:

enter image description here

このStackOverflowの質問 の提案に従うことでこれを機能させました。具体的には:

  • Microsoft.NET.Test.SdkへのNuGet参照を追加します
  • ReSharperを更新する
  • VisualStudioを再起動します
1
srk

これは、テストクラスが大きすぎて、ReSharperがコード分析を一時停止した場合に発生する可能性があります。これらのファイルの場合、コードエディタの垂直スクロールバーの上にある[一時停止]アイコンを右クリックして、[分析の再開]を選択できます。

Code Analysis has been paused because document size has exceeded the threshold

これにより、ソリューションの.DotSettings.userファイルにForceIncludedエントリが追加されるため、再度実行する必要はありません。

<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=.../@EntryIndexedValue">ForceIncluded</s:String>
1

同様の問題が発生し、MSpecプラグインが干渉していると判断しました。 MSpecテストランナーを無効にすることで解決しました:Resharper-> Options-> Plugins。

0
jchadhowell

私の場合、テストフィクスチャクラス名を右クリックし、Visual Studioの(Resharperではない)[テストの実行]メニュー項目をクリックすると、R#アイコンが作成されました再び現れます。


enter image description here


P.S.これはVisualStudio2017にありました

0
Antoni