如何进行我的第一次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下载。但如果我运行所有测试,它会说我的项目中没有任何测试。也许你能帮我?

如何进行我的第一次nunit测试

尝试在"测试">"测试设置">"默认处理器架构"下更改"默认处理器体系结构"并重新生成解决方案。

您正在使用[TestCase]属性将该方法标记为测试。这适用于参数化测试。您的测试没有参数化,这就是它不起作用的原因。

[Test]属性应该用于您的情况。请参阅TestAttribute文档:

Test属性是将TestFixture类中的方法标记为测试的一种方法。它通常用于简单(非参数化)测试。。。

尝试以下操作:

    ...
    [Test]
    public void AddTest()
    {
        MathsHelper helper = new MathsHelper();
        int result = helper.Add(20, 10);
        Assert.AreEqual(30, result);
    }
    ...

这应该行得通。