Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 不使用NUnit进行现场测试_Visual Studio_Unit Testing_Nunit - Fatal编程技术网

Visual studio 不使用NUnit进行现场测试

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

当我打开实时测试时,我的测试显示“排除在实时单元测试之外”。这只有在我使用NUnit时才会发生,使用MSTest很好

我有: Visual Studio Enterprise 2017(15.6.2) NUnit 3.10.1

一个简单的代码示例

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
。这很有效。