Visual studio 不使用NUnit进行现场测试
当我打开实时测试时,我的测试显示“排除在实时单元测试之外”。这只有在我使用NUnit时才会发生,使用MSTest很好 我有: Visual Studio Enterprise 2017(15.6.2) NUnit 3.10.1 一个简单的代码示例Visual studio 不使用NUnit进行现场测试,visual-studio,unit-testing,nunit,Visual Studio,Unit Testing,Nunit,当我打开实时测试时,我的测试显示“排除在实时单元测试之外”。这只有在我使用NUnit时才会发生,使用MSTest很好 我有: Visual Studio Enterprise 2017(15.6.2) NUnit 3.10.1 一个简单的代码示例 using Microsoft.VisualStudio.TestTools.UnitTesting; using NUnit.Framework; namespace UnitTestProject1 { [TestClass] p
using Microsoft.VisualStudio.TestTools.UnitTesting;
using NUnit.Framework;
namespace UnitTestProject1
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
}
}
[TestFixture]
public class NUnitTest1
{
[Test]
public void NUnitTestMethod1()
{
}
}
}
TestMethod1()
烧杯旁边有一个绿色复选标记,表示现场单元测试已开启并已被测试覆盖。
nunitestmethod1()
有烧杯,但没有复选标记,鼠标悬停在烧杯上显示“排除在现场单元测试之外”
我错过了什么?除了我通过Nuget添加NUnit和添加额外的测试类/方法之外,没有进行其他编辑或更改。我正在运行新安装的Visual Studio,其中唯一添加的是ReSharper Ultimate(2017.3.2)。您有NUnit和NUnit3TestAdapter吗?根据,您需要NUnit 3.5.0和NUnit3TestAdapter 3.5.1。您不能在一个项目中混合使用两个测试框架。VisualStudio检查每个已安装的测试适配器,以查看它是否处理给定的测试项目。一旦找到一个有效的,它就会停止检查其他的。在您的情况下,将使用MSTest适配器,因为MSTest适配器不理解NUnit测试,所以它不会运行这些测试 创建一个单独的NUnit测试项目,确保不引用MSTest,并将NUnit 3.10.0和NUnit3TestAdapter 3.10 NuGet包添加到项目中。如果您使用的是.NET4.x,那么应该可以启动并运行它。如果您的目标是.NET Core,请参阅NUnit文档以了解更多信息 这是15.6.2中NUnit项目的现场单元测试。注意绿色的复选标记
在Visual Studio 2017 Enterprise 15.7.5和VS 2017 15.8 Preview 3上,NUnit与LUT的工作方式与预期不符,TestCaseAttribute导致LUT出现一些错误<代码>调用执行器的代码时发生异常executor://nunit3testexecutor/“:TestCaseFilter的格式不正确缺少运算符“|”或“&”。请指定正确的格式,然后重试。请注意,不正确的格式可能导致无法执行测试。@gdyrrahis我现在也明白了。倾向于工作一次,然后如果我进行任何更改,它将停止测试,直到我清除LUT。@gilliduck我找到的唯一解决方法是:1)下载Visual Studio 2017 Preview 15.8,并在我的测试项目中包含以下包:
Microsoft.TestPlatform.TestHost
。还要确保输出类型为exe,exe
。这很有效。