我对 TDD 相当陌生,并且在单元测试方面经验不足,因此提出了这个问题。我有这个用 PHP 编写的遗留函数
function foo(){
x = bar();
y = baz();
if (x > y)
return 'greater';
return 'lesser';
}
如果 x(bar() 返回的值)总是大于 y(baz() 返回的值),我将永远无法测试“较小”的返回语句。
我应该怎么做才能覆盖这两个测试用例并实现 100% 的代码覆盖率?将 foo() 重新定义为 foo(x, y) 用于依赖注入钩子不是遗留代码的选项。