0

我有这段代码

function aFunctionForUnitTesting(aParameter)
    return (aFirstCheck(aParameter) && 
           aOtherOne(aParameter) && 
           aLastOne(aParameter)
    );

我该如何对此进行单元测试?

我的问题如下,假设我创建了这个单元测试:

FailWhenParameterDoesntFillFirstCheck()
{
Assert.IsFalse(new myObject().aFunctionForUnitTesting(aBadParameter));
}

由于第一次检查,我怎么知道这个测试没问题(它可能因为第二次或第三次检查而失败,所以我的函数 firstCheck 可能被窃听了)?

4

2 回答 2

0

您需要传递参数的不同值,这将通过第一次检查并在第二次检查失败。

FailWhenParameterDoesntFillFirstCheck()
{
    Assert.IsFalse(new myObject().aFunctionForUnitTesting(aBadParameterThatPassesFirstCheckButFailsTheSecond));
}
于 2012-06-25T14:55:56.537 回答
0

您不必编写所有这些案例。这取决于您想要什么级别的代码覆盖率。您可以在四个测试中获得“修改后的条件/决策覆盖率”: - 所有参数都正常 - 每个参数中的一个未通过测试

“多条件覆盖”需要 8 次测试。除非我在空中客车公司工作,否则我不确定我会打扰:-)

于 2012-06-25T15:22:52.803 回答