在TDD会话过程中,假设我编写了一个失败的测试,然后让它通过.我通过使用诸如Extract Class和Move Method之类的重构从原始Unit中提取代码来重构.现在进一步假设我的原始测试不再涵盖提取的
是否适合返回并对提取的代码进行改进测试?或者我在重构过程中如何使用未经测试的代码时犯了错误?感觉就像我的代码库正在缩放,我必须重构,我正在对重构代码进行大量的测试.这感觉真的很尴尬.我重构错了吗?
Now further suppose that my original test no longer covers the extracted code because the original code now mocks out its dependencies, as is correct for a Unit test.
模拟依赖关系通常是一件好事,但并非总是如此,我不会说它是“正确的单元测试”来模拟所有依赖项.
在TDD的重构步骤中,您应该在生产代码中更改不影响测试传递的内容.而且你不应该同时改变测试.
您可能希望稍后修改测试,以便独立于原始代码测试提取的代码,并在原始测试中进行模拟.