如何进行我的第一次nunit测试
本文关键字:测试 nunit 我的第一次 何进行 | 更新日期: 2023-09-27 18:28:10
我想学习如何使用Nunit测试。我有一个简单的代码:
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;
}
我还创建了一个单元测试:
[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);
}
}
}
我从NugetNunit.runner、Nunit.cocole和Nunit.adapter下载。但如果我运行所有测试,它会说我的项目中没有任何测试。也许你能帮我?
尝试在"测试">"测试设置">"默认处理器架构"下更改"默认处理器体系结构"并重新生成解决方案。
您正在使用[TestCase]
属性将该方法标记为测试。这适用于参数化测试。您的测试没有参数化,这就是它不起作用的原因。
[Test]
属性应该用于您的情况。请参阅TestAttribute
文档:
Test属性是将TestFixture类中的方法标记为测试的一种方法。它通常用于简单(非参数化)测试。。。
尝试以下操作:
...
[Test]
public void AddTest()
{
MathsHelper helper = new MathsHelper();
int result = helper.Add(20, 10);
Assert.AreEqual(30, result);
}
...
这应该行得通。