0

私はこのコードを持っています

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

これを単体テストするにはどうすればよいですか?

私の問題は次のとおりです。この単体テストを作成するとします。

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

最初のチェックが原因でこのテストが正常であることをどのように確認できますか (2 番目または 3 番目のチェックが原因で失敗した可能性があるため、関数 firstCheck にバグがある可能性があります)。

4

2 に答える 2

0

これらすべてのケースを作成する必要はありません必要なコードカバレッジのレベルによって異なります。4つのテストで「変更された条件/決定カバレッジ」を取得できます。-すべてのパラメータは正常です-各パラメータの1つがテストに失敗します

「複数条件カバレッジ」には、ここで8つのテストが必要です。エアバスで働いていたのでなければ気にしないでください:-)

于 2012-06-25T15:22:52.803 に答える
0

パラメータの別の値を渡す必要があります。これは、最初のチェックに合格し、2 番目のチェックに失敗します。

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