Closed. This question is opinion-based。它当前不接受答案。












想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。

3年前关闭。



Improve this question





我们运行一个项目,我们希望通过测试驱动的开发来解决该项目。我考虑了启动项目时出现的一些问题。一个问题是:谁应该为某个功能编写单元测试?单元测试是否应该由功能实现程序员编写?还是应该由另一个程序员编写单元测试,谁定义了方法应该做什么,而功能实现程序员则要在测试运行之前实现该方法?
如果我以正确的方式理解TDD的概念,那么实现功能的程序员就必须自己编写测试,因为TDD是带有小迭代的过程。因此,由其他程序员编写测试太复杂了吗?
你打算说什么? TDD中的测试应该由程序员自己编写,还是应该由另一位程序员编写描述方法可以执行的测试?

最佳答案

在TDD中,开发人员首先编写失败的单元测试,然后修复生产代码以使测试通过。这个想法是,更改是在很小的步骤中完成的-因此,您编写了一个调用不存在的方法的测试,然后通过添加一个空方法来修复该测试,然后向该测试中添加有关该方法的断言因此再次失败,然后实施方法的第一个步骤,依此类推。由于这些步骤太小,让一个人来编写测试是不现实的。另一方面,我建议配对,以确保代码有意义。

我认为可能会有另一个人/团队/甚至客户(当您使用Fitness等工具时)编写验收测试,以更高的水平测试整个功能。

08-18 20:59
查看更多