何时可以更改"已完成"的单元测试?

I C*_*ark 8 unit-testing

我已经采取了我的第一个婴儿步骤进入单元测试,并且由于对域的更好理解,已经对已破坏单元测试的域模型进行了更改.所以这提出了一个问题:

什么时候允许更改以前的工作单元测试?

我想我不得不问这个问题,我错过了单元测试的一个重要方面......

Pau*_*ams 8

对于'正确'的TDD,您首先更改测试,然后更改代码.

所以实际上你从来没有破坏测试,只有破坏的代码.你应该始终努力使测试成为正确功能的最终表达,并且因此是先验的,正确的.


RBe*_*eig 6

每个特定单元测试的要点并不是它永远不会中断,而是只要它测试的功能也有效,它就会继续工作.这样,对测试功能的意外更改会导致您发现的测试失败,而不是您的最终用户.

如果功能有意更改,那么您应该会看到一些测试中断.如果不这样做,那么您在测试套件中没有足够的功能覆盖范围.


Mit*_*eat 5

当您进行中断测试的更改时:

1)首先要确定测试现在是否已经破坏,或者您的更改是否已经破坏了不应该进行的测试.

2).如果是前者,请修复测试.否则修复你的变化.