私はTDDにかなり慣れておらず、ユニットテストに慣れていないため、質問です。PHPで書かれたこのレガシー関数があります
function foo(){
x = bar();
y = baz();
if (x > y)
return 'greater';
return 'lesser';
}
x (bar() によって返される値) が常に y (baz() によって返される値) より大きい場合、「小さい」return ステートメントをテストすることはできません。
両方のテスト ケースをカバーし、100% のコード カバレッジを達成するにはどうすればよいですか? 依存性注入フックのために foo() を foo(x, y) として再定義することは、レガシー コードではオプションではありません。