我有这段代码
function aFunctionForUnitTesting(aParameter)
return (aFirstCheck(aParameter) &&
aOtherOne(aParameter) &&
aLastOne(aParameter)
);
我如何对此进行单元测试?
我的问题如下,假设我创建了这个单元测试:
FailWhenParameterDoesntFillFirstCheck()
{
Assert.IsFalse(new myObject().aFunctionForUnitTesting(aBadParameter));
}
我怎么知道这个测试是好的,因为第一次检查(因为第二次或第三次检查可能会失败,所以我的函数firstCheck可能会被窃听)?
答案 0 :(得分:0)
您需要传递参数的不同值,该值将通过第一次检查并在第二次检查时失败。
FailWhenParameterDoesntFillFirstCheck()
{
Assert.IsFalse(new myObject().aFunctionForUnitTesting(aBadParameterThatPassesFirstCheckButFailsTheSecond));
}
答案 1 :(得分:0)
您没有 来编写所有这些案例。这取决于您想要的代码覆盖范围。您可以在四个测试中获得“修改条件/决策覆盖率”: - 所有参数都可以 - 每个参数中的一个未通过测试
'多条件覆盖'需要8个测试。除非我在空中客车公司工作,否则不确定我会打扰: - )