VS2017和NUnit 3.9没有可用的测试

时间:2018-03-26 16:06:04

标签: c# visual-studio visual-studio-2017 nunit

我使用的是最新的VS2017版本15.6.4,NUnit3TestAdapter 3.10.0和Nunit版本3.9.0.0。

当我尝试在测试资源管理器中运行单元测试时,测试显示为灰色,当我右键单击并运行选定的测试时,我看到以下错误:没有可用的测试 以下是我的测试类的外观

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

    }

Here is a screenshot of my tests

来自输出的文字:

[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) ==========

14 个答案:

答案 0 :(得分:23)

答案 1 :(得分:14)

您可以查看以下步骤,看看它是否有效吗?

  1. 在Visual Studio菜单中,转到Test > Test Settings > Default Processor Architecture并记下选择X86X64
  2. 的情况
  3. 现在转到编写测试的项目的Build窗口中的Properties部分。确保Platform target下拉菜单选择为Any CPU,或至少与上述step 1中的架构相匹配。
  4. 现在,如果您构建解决方案并尝试运行这些测试,您应该会看到它们正在运行。

答案 2 :(得分:1)

我发现我的构建事件是错误的。无效的复制命令将我的所有测试都吹了半天:

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

答案 3 :(得分:1)

我遇到了和Amete一样的问题Blessed并且评论了其他Test方法让Test Explorer工作并运行我的测试

答案 4 :(得分:1)

“测试输出”窗口中的消息(“ NUnit无法加载[assembly]”,“没有可用的测试...”等)可能隐藏了导致运行程序无法加载测试程序集的潜在问题。这包括隐藏无法加载测试程序集或被测项目的依赖项。

如果“测试资源管理器”窗口中显示了一个测试程序集,但测试拒绝运行,则值得暂时启用融合日志记录,以查看尝试运行测试时是否发生任何程序集绑定错误。

答案 5 :(得分:1)

通过nuget安装NUnit之后,测试已经出现在Test Explorer中 但是当我运行它们时,我得到“没有测试可用”。 安装NUnit测试适配器可以解决此问题。

答案 6 :(得分:0)

你可能是this problem的牺牲品,在理论上已经在15.6.3中解决了。根据{{​​3}},请尝试删除您的%temp%\VisualStudioTestExplorerExtensions文件夹。这解决了其他一些用户的问题。

答案 7 :(得分:0)

您可以右键单击解决方案并从那里运行单元测试,而不是使用测试资源管理器吗?

答案 8 :(得分:0)

使用Xamarin.Forms时,我遇到了类似的问题。 解决方案是从NuGet安装NUnit.XForms并添加

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

到测试所在项目的csproj文件。

答案 9 :(得分:0)

有同样的问题。就我而言,我发现如果您的测试项目包含对MSTest的引用,则Test Explorer将不会使用NUnit测试适配器。通常是Microsoft.VisualStudio.TestPlatform.TestFramework.dll,但也要检查.csproj文件中的“ MSTest”和packages.config文件。

我是通过首先为Visual Studio测试启用诊断日志记录来发现此问题的。在“工具”->“选项”->“测试”->“日志记录级别”下找到。

在我的日志中,找到以下条目:

[22/11/2018 10:36:42诊断]项目C:\ Git \ myProject \ src \ myProject.Tests \ myProject.Tests.csproj引用测试适配器:MSTest.TestAdapter,版本1.1.18

答案 10 :(得分:0)

对我有用的是删除位于ComponentModelCache的{​​{1}}文件夹

答案 11 :(得分:0)

这是由于内存问题引起的。

  • 执行测试后清理对象

示例代码

private TestController testController;

[OneTimeSetUp]

public void TestSetup()

{

testController= new TestController();

}



[OneTimeTearDown]

public void TestCleanup()

{

testController= null;

}
  • 在设置中将测试执行更改为64位
  

测试->测试设置->默认处理器体系结构-> x64。

答案 12 :(得分:0)

我也遇到了同样的问题。

解决此问题的步骤-

dotenv.config()

注意-还要确保所有软件包都已正确安装。

现在尝试执行测试。

答案 13 :(得分:0)

我遇到了同样的问题,但是在通过NuGet将“ NUnit 3 TestAdapter版本3.16.1”安装到我的项目后,该问题已得到解决。