【发布时间】:2012-02-03 09:56:55
【问题描述】:
我正在为一个应用程序进行单元测试,该应用程序具有一个将三个值作为参数的构造函数。数字应为 0 或更高,现在我正在为构造函数编写单元测试,如果不是这种情况,则会引发异常。
我不知道如何在“断言”之后写什么来确定这一点,以便在将非法数字传递给构造函数时测试通过。提前致谢。
编辑:我正在使用 MSTest 框架
public void uniqueSidesTest2()
{
try {
Triangle_Accessor target = new Triangle_Accessor(0, 10, 10);
}
catch (){
Assert // true (pass the test)
return;
}
Assert. // false (test fails)
}
// 来自代码...
public Triangle(double a, double b, double c) {
if ((a <= 0) || (b <= 0) || (c <= 0)){
throw new ArgumentException("The numbers must higher than 0.");
}
sides = new double[] { a, b, c };
}
【问题讨论】:
-
我不确定在沼泽标准 MS 测试中,但在 NUnit 中你会注释测试以期待异常。您仍然会收到错误,但它不算作失败,例如ExpectedException(typeof(ArgumentException))]
标签: c# unit-testing try-catch