在VS单元测试断言中需要一些信息。不确定?

时间:2011-10-31 13:06:45

标签: c# visual-studio-2008

我正在使用C#在VS 2008中开展一些单元测试项目,我为单元测试创​​建了一个简单的小方法?

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. 我需要做些什么才能让我的单元测试通过?

1 个答案:

答案 0 :(得分:2)

您需要确定要考虑通过的单元测试的标准。对单元测试通过的内容没有全面的答案。规范最终决定了通过单元测试的构成。

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

你会想要再次测试它,但使用其他值,如底片,零和非常大的数字。

Inconclusive方法的单元测试不需要addNumber运算符。在处理对象和线程时,assertion会更有用。像你一样调用Inconclusive断言将始终失败并始终返回传入其中的字符串。