我想知道在增加功能时,使用单元测试进行测试驱动开发/测试的最佳实践是什么。
E.g。我有一个要求,当Class Foo
的对象收到bar()
消息时,它应相应地更新给定字段counter
。我为此创建了一个测试用例,它创建了一个Foo
对象,然后测试了需求。
现在,如果有新要求,我应该怎么做,当Foo
收到bar()
消息时,另一个字段counter2
应该更新。我应该为此创建一个新的测试用例,它只检查第二个要求,还是只更新第一个测试用例?
答案 0 :(得分:8)
似乎您的问题包含答案。从我的实践来看,如果它是一个新的要求,它不会改变以前的要求,那么你应该为它创建一个新的测试。如果需要更改 - 那么您应该修改旧测试,以适应这些更新的需求,并在实现之前执行。
答案 1 :(得分:3)
我通常会添加一个新的测试用例,这样两个功能在测试中保持独立,哪个测试失败表明哪个功能是错误的。