visual - vscode c# mstest




VS2017およびNUnit 3.9利用可能なテストはありません (8)

最新のVS2017バージョン15.6.4、NUnit3TestAdapter 3.10.0、およびNunitバージョン3.9.0.0を使用しています。

Test Explorerで単体テストを実行しようとすると、テストがグレー表示され、選択したテストを右クリックして実行すると、次のエラーが表示されます。 テストは使用できません

    [TestFixture]
    public partial class ListViewBOTest
    {
    [Test]
     public void TestSearch_DateTime()
      {
        Assert.AreEqual(1,0);
      }

    }

出力からのテキスト:

[3/26/2018 10:53:55 AM Informational] ------ Run test started ------
[3/26/2018 10:53:55 AM Informational] NUnit Adapter 3.10.0.21: Test execution started
[3/26/2018 10:53:55 AM Informational] Running all tests in C:\Projects\MVPPlant\DEV\CMMSdg.Plant\CMMSdg.Plant\Sln.2010\CMMSdg.Plant.BusinessObjects.Test\bin\Debug\CMMSdg.Plant.BusinessObjects.Test.dll
[3/26/2018 10:53:56 AM Informational] NUnit failed to load C:\Projects\MVPPlant\DEV\CMMSdg.Plant\CMMSdg.Plant\Sln.2010\CMMSdg.Plant.BusinessObjects.Test\bin\Debug\CMMSdg.Plant.BusinessObjects.Test.dll
[3/26/2018 10:53:56 AM Informational] NUnit Adapter 3.10.0.21: Test execution complete
[3/26/2018 10:53:56 AM Warning] No test is available in C:\Projects\MVPPlant\DEV\CMMSdg.Plant\CMMSdg.Plant\Sln.2010\CMMSdg.Plant.BusinessObjects.Test\bin\Debug\CMMSdg.Plant.BusinessObjects.Test.dll. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.
[3/26/2018 10:53:56 AM Informational] ========== Run test finished: 0 run (0:00:01.0435303) ==========

Xamarin.Formsを使用したときにも同様の問題がありました。 解決策は、NuGetからNUnit.XFormsをインストールして追加することでした。

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

テストがあるプロジェクトのcsprojファイルに。


あなたは15.6.3で(理論的に)解決されたこの問題の犠牲者であるかもしれません。 この回答によると、あなたの%temp%\VisualStudioTestExplorerExtensionsフォルダを削除してみてください。 これで他のユーザーの問題は解決しました。


これはメモリの問題が原因です。

  • テスト実行後にオブジェクトを消去する

サンプルコード

private TestController testController;

[OneTimeSetUp]

public void TestSetup()

{

testController= new TestController();

}



[OneTimeTearDown]

public void TestCleanup()

{

testController= null;

}
  • テスト実行を設定の64ビットに変更

テスト - >テスト設定 - >デフォルトプロセッサアーキテクチャ - > x64。


テストエクスプローラにNUnitをインストールするとテストエクスプローラに表示されるようになりましたが、テストを実行できませんでした。 NUnitテストアダプタをインストールすると問題が解決しました。


テスト出力ウィンドウのメッセージ( "NUnitが[assembly]をロードできませんでした"、 "テストが利用できません..."など)は、ランナーがテストアセンブリをロードできないという根本的な問題を隠すことがあります。 これには、テストアセンブリまたはテスト中のアイテムの依存関係の読み込みに失敗したことを隠すことが含まれます。

Test Explorerウィンドウに表示されているテストアセンブリがあってもテストの実行が拒否される場合は、テストを実行しようとしたときにアセンブリバインディングエラーが発生するかどうかを確認するために一時的にフュージョンログを有効にします。


ビルドイベントが間違っていることがわかりました。 無効なコピーコマンドは私のすべてのテストと半日を吹き飛ばしました:

Copy C:\repo\Architecture\*.json $(ProjectPath)/Y
Copy C:\repo\Architecture\*.json $(TargetPath) /Y

の代わりに

Copy C:\repo\Architecture\*.json $(ProjectDir)/Y
Copy C:\repo\Architecture\*.json $(TargetDir) /Y

次の手順を確認してそれが機能するかどうかを確認できますか。

  1. Visual Studioのメニューで、 Test > Test Settings > Default Processor Architecture選択し、 X86が選択されているかX64が選択されているかをメモします。
  2. 今度はテストが書かれているプロジェクトのPropertiesウィンドウのBuildセクションに行ってください。 [ Platform targetドロップダウンが[ Any CPUまたは少なくとも上記のstep 1アーキテクチャと一致するように選択されていることを確認しPlatform target

ソリューションを構築してそれらのテストを実行しようとすると、テストが実行されていることがわかります。


私のために働いたのは%localappdata%\Microsoft\VisualStudio\<version>あるComponentModelCacheフォルダを削除することでした





nunit