次のような方法があるとします。
public void OrderNewWidget(Widget widget)
{
if ((widget.PartNumber > 0) && (widget.PartAvailable))
{
WigdetOrderingService.OrderNewWidgetAsync(widget.PartNumber);
}
}
私のコードにはそのようなメソッドがいくつかあります(非同期Webサービス呼び出しの前半分)。
それらを単体テストでカバーすることが有用かどうかを議論しています。はい、ここにはロジックがありますが、それはガードロジックにすぎません。(つまり、Webサービスの呼び出しを許可する前に、必要なものがあることを確認します。)
私の一部は、「あなたはそれらをユニットテストできることを確認しますが、それは時間の価値がありません」と言います(私はすでに予定より遅れているプロジェクトにいます)。
しかし、私の反対側は、もしあなたがそれらを単体テストしないで、誰かが衛兵を変えれば、問題があるかもしれないと言います。
しかし、私の最初の部分は、誰かがガードを変更した場合、あなたは彼らのためにもっと仕事をしているだけだと言います(ガードとガードのユニットテストを変更しなければならないからです)。
たとえば、私のサービスがウィジェットの可用性をチェックする責任を負う場合、そのガードをこれ以上望まないかもしれません。単体テスト中の場合は、2つの場所を変更する必要があります。
私は両方の面で賛否両論を見ています。だから私は他の人が何をしたかを尋ねると思った。
but it is not worth the time" (I am on a project that is already behind schedule).
私たちはソフトウェア開発者です。私たちが予定通りにいるのは、私たちが死んでいるときだけです:)