需要一些信息在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项目时,
我收到一条不确定的信息。我的问题是
- 不确定性到底是什么,什么时候出现的? 什么是必要的事情,我需要做,使我的单元测试通过?
您需要决定单元测试被认为通过的标准是什么。对于什么使单元测试通过,并没有一个笼统的答案。规范最终规定了什么构成了合格的单元测试。
如果您正在测试的方法确实只是将两个数字相加,那么对于这个特定的单元测试,Assert.AreEqual(expected,actual)
可能就足够了。您可能还想检查Assert.IsTrue(expected>0)
,这可能是您可以附加到此单元测试的另一个断言。
您将需要使用其他值(如负数、零和非常大的数字)再次测试它。
对于addNumber
方法的单元测试,您不需要Inconclusive
操作符。在处理对象和线程时,该断言可能更有用。像这样调用Inconclusive
断言总是会失败,并且总是返回传递给它的字符串。