NUnit VS Adapter 2 没有找到我的测试
NUnit VS Adapter 2 is not finding my tests
也许有人在 Nunit 测试中遇到过同样的问题。我已经下载了 Nunit 和 Nunit 适配器,我写了一些代码和一些单元测试,但它说:
NUnit VS Adapter 2.0.0.0 discovering test is finished
========== Discover test finished: 0 found (0:00:00,4917596) ==========
也许你可以告诉我一些想法,如何解决它?
我读了一些教程,它说我应该使用测试资源管理器,它会自动集成我的测试。但是没有任何反应,也许问题在于我使用 3.0.1 版本的 Nunit?
namespace ConsoleApplication16
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter two numbers\n");
int number1;
int number2;
number1 = int.Parse(Console.ReadLine());
number2 = int.Parse(Console.ReadLine());
MathsHelper helper = new MathsHelper();
int x = helper.Add(number1, number2);
Console.WriteLine("\nThe sum of " + number1 +
" and " + number2 + " is " + x);
Console.ReadKey();
int y = helper.Subtract(number1, number2);
Console.WriteLine("\nThe difference between " +
number1 + " and" + number2 + " is " + y);
Console.ReadKey();
}
}
public class MathsHelper
{
public MathsHelper() { }
public int Add(int a, int b)
{
int x = a + b;
return x;
}
public int Subtract(int a, int b)
{
int x = a - b;
return x;
}
}
}
测试:
using NUnit.Framework;
namespace ConsoleApplication16
{
[TestFixture]
public class TestClass
{
[TestCase]
public void AddTest()
{
MathsHelper helper = new MathsHelper();
int result = helper.Add(20, 10);
Assert.AreEqual(30, result);
}
[TestCase]
public void SubtractTest()
{
MathsHelper helper = new MathsHelper();
int result = helper.Subtract(20, 10);
Assert.AreEqual(10, result);
}
}
}
包:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NUnit" version="3.0.1" targetFramework="net452" />
<package id="NUnitTestAdapter" version="2.0.0" targetFramework="net452" />
</packages>
如果您使用的是 Nunit 3,则必须使用 NuGet 中可用的适当测试适配器 NUnit3TestAdapter
。
<packages>
<package id="NUnit" version="3.0.1" targetFramework="net452" />
<package id="NUnit3TestAdapter" version="3.0.8-ctp-8" targetFramework="net452" />
</packages>
请注意,它目前仍处于预发布阶段,因此您必须在 NuGet 管理器 GUI 中打开 "Include pre-releases" 复选框才能看到它,或者使用包管理器控制台中的 –IncludePrerelease
选项。
也许有人在 Nunit 测试中遇到过同样的问题。我已经下载了 Nunit 和 Nunit 适配器,我写了一些代码和一些单元测试,但它说:
NUnit VS Adapter 2.0.0.0 discovering test is finished
========== Discover test finished: 0 found (0:00:00,4917596) ==========
也许你可以告诉我一些想法,如何解决它?
我读了一些教程,它说我应该使用测试资源管理器,它会自动集成我的测试。但是没有任何反应,也许问题在于我使用 3.0.1 版本的 Nunit?
namespace ConsoleApplication16
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter two numbers\n");
int number1;
int number2;
number1 = int.Parse(Console.ReadLine());
number2 = int.Parse(Console.ReadLine());
MathsHelper helper = new MathsHelper();
int x = helper.Add(number1, number2);
Console.WriteLine("\nThe sum of " + number1 +
" and " + number2 + " is " + x);
Console.ReadKey();
int y = helper.Subtract(number1, number2);
Console.WriteLine("\nThe difference between " +
number1 + " and" + number2 + " is " + y);
Console.ReadKey();
}
}
public class MathsHelper
{
public MathsHelper() { }
public int Add(int a, int b)
{
int x = a + b;
return x;
}
public int Subtract(int a, int b)
{
int x = a - b;
return x;
}
}
}
测试:
using NUnit.Framework;
namespace ConsoleApplication16
{
[TestFixture]
public class TestClass
{
[TestCase]
public void AddTest()
{
MathsHelper helper = new MathsHelper();
int result = helper.Add(20, 10);
Assert.AreEqual(30, result);
}
[TestCase]
public void SubtractTest()
{
MathsHelper helper = new MathsHelper();
int result = helper.Subtract(20, 10);
Assert.AreEqual(10, result);
}
}
}
包:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NUnit" version="3.0.1" targetFramework="net452" />
<package id="NUnitTestAdapter" version="2.0.0" targetFramework="net452" />
</packages>
如果您使用的是 Nunit 3,则必须使用 NuGet 中可用的适当测试适配器 NUnit3TestAdapter
。
<packages>
<package id="NUnit" version="3.0.1" targetFramework="net452" />
<package id="NUnit3TestAdapter" version="3.0.8-ctp-8" targetFramework="net452" />
</packages>
请注意,它目前仍处于预发布阶段,因此您必须在 NuGet 管理器 GUI 中打开 "Include pre-releases" 复选框才能看到它,或者使用包管理器控制台中的 –IncludePrerelease
选项。