我写的这个类做了几件事(也许这违反了单一责任原则)。我现在该项目的其他部分需要意识到一块是逻辑的,我要揭露它是提取的一类了我原来的被测系统的方式。
我期望无需更改任何测试代码即可执行此操作,但是当我完成操作时,您可能会说该测试不再是单元测试。它将测试原始类和我提取的类。换句话说,我将有一个测试用例,但有两个系统正在测试中。
完成后是否应该重构测试代码?IE:创建一个ExtractedClassTest并将所有相关测试从OriginalClassTest移入其中?这似乎有点冒险:我可能会在此过程中失去一些覆盖面,它可能不像移动测试那样简单,并且我最终会重写一些我知道曾经可以使用但无法再使用的测试代码,等等
另一方面,如果按原样保留OriginalClassTest,则可以看到这是测试维护问题。找到ExtractedClass的测试在哪里会有些混乱。您的第一印象将是它不存在。随着时间的推移,随着大量生产代码的重构,这可能会成为一个严重的问题。
我是TDD的新手,所以我需要专家的建议。谢谢!