我试图了解 TDD 方法并遇到了 - 我认为是 - 一个先有鸡还是先有蛋的问题:如果错误修复涉及更改方法的签名该怎么办。
考虑以下方法签名:
string RemoveTokenFromString (string delimited, string token)
顾名思义,此方法删除 a token
from的所有实例delimited
并返回结果字符串。
后来我发现这个方法有一个错误(例如从字符串中删除了错误的位)。所以我写了一个测试用例来描述错误发生的场景,并确保测试失败。
在修复 bug 时,我发现该方法需要更多信息才能正常工作——而这部分信息只能作为参数发送(被测方法是静态类的一部分)。
那我该怎么办?如果我修复了这个错误,这会迫使我改变单元测试——那会是“正确的”TDD 方法吗?