【问题标题】:How to run my first nunit test如何运行我的第一个 nunit 测试
【发布时间】:2015-12-30 19:10:18
【问题描述】:

我想学习如何使用 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);
        }
    }
}

我从 Nuget Nunit.runner 、 Nunit.concole 和 Nunit.adapter 下载。但是,如果我运行所有测试,则表明我的项目中没有任何测试。或许你能帮帮我?

【问题讨论】:

    标签: c# nunit


    【解决方案1】:

    尝试在“测试”>“测试设置”>“默认处理器架构”下更改默认处理器架构并重建解决方案。

    【讨论】:

    • 您是否下载了相同版本的所有元素?如果你下载了 2.x 的 Nunit 和 3.0 的 runner,那么它就行不通了。
    • 我在 3.0.1 版本中使用everything
    【解决方案2】:

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

    [Test] 属性应在您的情况下使用。请参考TestAttribute doc

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

    尝试以下方法:

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

    应该可以的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-27
      • 1970-01-01
      • 2012-02-25
      相关资源
      最近更新 更多