代码之家  ›  专栏  ›  技术社区  ›  Helen Araya

VS2017和NUnit 3.9无可用测试

  •  23
  • Helen Araya  · 技术社区  · 6 年前

    我使用的是最新的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 回复  |  直到 6 年前
        1
  •  38
  •   Peter Morris    6 年前
        2
  •  16
  •   hem    6 年前

    你能检查一下下面的步骤,看看它是否有效吗?

    1. 在Visual Studio菜单中,转到 Test > Test Settings > Default Processor Architecture 并记下如果 X86 已选择或 X64
    2. 现在转到 Build 中的节 Properties 编写测试的项目窗口。确保 Platform target 下拉列表选择为 Any CPU 或者至少它与上面的架构相匹配 step 1

    现在,如果您构建解决方案并尝试运行这些测试,您应该看到它们现在正在运行。

        3
  •  2
  •   Cubelaster    6 年前

    我遇到了与Amete Bleed相同的问题,并且注释了其他测试方法,从而使测试资源管理器工作并运行我的测试

        4
  •  2
  •   vich    6 年前

    我发现我的构建事件是错误的。无效的copy命令使我的所有测试都失败了半天:

    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
    
        5
  •  2
  •   Phil    6 年前

    测试输出窗口中的消息(“NUnit未能加载[程序集]”,“没有可用的测试…”,等)可以隐藏导致运行程序无法加载测试程序集的根本问题。这包括隐藏加载测试程序集或测试项的依赖项的失败。

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

        6
  •  2
  •   Alexander Razvalinov    6 年前

    安装NUnit后,通过nuget测试已出现在测试资源管理器中 但当我运行它们时,我得到了“没有可用的测试”。 安装NUnit测试适配器修复了该问题。

        7
  •  1
  •   AGR    6 年前

    我在使用Xamarin时也有类似的问题。表格。 解决方案是安装NUnit。来自NuGet和add的XForms

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

    测试所在项目的csproj文件。

        8
  •  1
  •   Joakim M. H. AllenG    5 年前

    对我有用的是删除 ComponentModelCache 文件夹位于 %localappdata%\Microsoft\VisualStudio\<version>

        9
  •  0
  •   Nick DeVore    6 年前

    你可能是 this problem 这(理论上)在15.6.3中得到了解决。根据 this answer ,尝试删除 %temp%\VisualStudioTestExplorerExtensions 文件夹这解决了其他一些用户的问题。

        10
  •  0
  •   Nick Booth    6 年前

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

        11
  •  0
  •   Rob Powell    5 年前

    有同样的问题。在我的例子中,我发现如果您的测试项目包含对MSTest的引用,那么测试资源管理器将不会使用NUnit测试适配器。通常是Microsoft。VisualStudio。测试平台。TestFramework。还可以检查您的。“MSTest”和您的包的csproj文件。配置文件。

    我首先为Visual Studio测试启用诊断日志记录,从而发现了这一点。可在“工具”->“选项”->“测试”->“日志记录级别”。

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

    [2018年11月22日10:36:42诊断]项目C:\Git\myProject\src\myProject。测试\我的项目。测试。csproj引用了测试适配器:MSTest。TestAdapter,版本1.1.18

        12
  •  0
  •   MrTesla    5 年前

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

    • 测试执行后清理对象

    示例代码

    private TestController testController;
    
    [OneTimeSetUp]
    
    public void TestSetup()
    
    {
    
    testController= new TestController();
    
    }
    
    
    
    [OneTimeTearDown]
    
    public void TestCleanup()
    
    {
    
    testController= null;
    
    }
    
    • 在设置中将测试执行更改为64位

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

        13
  •  0
  •   atul parate    5 年前

    我也遇到了同样的问题。

    解决此问题的步骤-

     1. Install/Reinstall NUnit3TestAdapter package
     2. Delete Debug folder from the Bin
     3. Clean --> Build the project
    

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

    现在尝试执行测试。

        14
  •  0
  •   M-A Charlotte    4 年前

    我也有同样的问题,但在通过NuGet将“NUnit 3 TestAdapter 3.16.1版”安装到我的项目后,问题得到了修复。