需要一些信息在VS单元测试断言

本文关键字:VS 单元测试 断言 信息 | 更新日期: 2023-09-27 18:12:56

我正在c#中做一些单元测试项目,我为单元测试创建了一个简单的小方法?

public int addNumber(int a, int b)
{
    return a + b;
}
我创建了一个单元测试方法,如下所示,
[TestMethod()]
public void addNumberTest()
{
    Mathematical target = new Mathematical(); // TODO: Initialize to an appropriate value
    int a = 4; // TODO: Initialize to an appropriate value
    int b = 2; // TODO: Initialize to an appropriate value
    int expected = 0; // TODO: Initialize to an appropriate value
    int actual;
    actual = target.addNumber(a, b);
    Assert.AreEqual(expected, actual);
    Assert.Inconclusive("Verify the correctness of this test method.");
}

但是当我尝试运行unittest项目时,

我收到一条不确定的信息。我的问题是

  1. 不确定性到底是什么,什么时候出现的?
  2. 什么是必要的事情,我需要做,使我的单元测试通过?

需要一些信息在VS单元测试断言

您需要决定单元测试被认为通过的标准是什么。对于什么使单元测试通过,并没有一个笼统的答案。规范最终规定了什么构成了合格的单元测试。

如果您正在测试的方法确实只是将两个数字相加,那么对于这个特定的单元测试,Assert.AreEqual(expected,actual)可能就足够了。您可能还想检查Assert.IsTrue(expected>0),这可能是您可以附加到此单元测试的另一个断言。

您将需要使用其他值(如负数、零和非常大的数字)再次测试它。

对于addNumber方法的单元测试,您不需要Inconclusive操作符。在处理对象和线程时,该断言可能更有用。像这样调用Inconclusive断言总是会失败,并且总是返回传递给它的字符串。