我正处于一个我们不做TDD的项目,因为我们的老板和客户都是非常“老式”的人。因为我不能通过TDD进行设计,但我觉得很容易改变,我想为自己的安全编写单元测试。但是,这些单元测试将如何?我是否必须为每个方法规范编写一个测试,以便他们按照预期的那样做?我是否必须测试TDD等每项新功能但没有设计?我心里一团糟。
提前致谢。
答案 0 :(得分:6)
你可能不会通过单元测试来伤害任何东西 - 无论他们做得多好 - 除了一种可能的副作用,这是错误的信心。
我们倾向于不做核心TDD,但是单元测试覆盖范围从不存在到中等,取决于项目,并且随着想法的落实而变得越来越有价值。
对于一般指示,我现在说以下是您的主要优先事项:
答案 1 :(得分:1)
是即可。 TDD是另一种软件开发技术,恰好可以大量使用单元测试。单元测试作为一个过程本身就没有问题,没有TDD。更不用说,有时甚至不可能做TDD而你做了测试(想想遗留系统/现有未经测试的代码测试)。
但至于你应该测试什么。根据您希望(可以)进行的测试深度,您可以从最终用户导向的功能开始,通过系统组件测试(即类合同)直到确保您的代码执行您声称的功能 - 这几乎是最终,最细粒度的单元测试,你很可能会有很多。
一般来说,测试什么并不是一个简单的问题,我碰巧已经回答了这个问题的几个变体,给你一些提示:
此外,阅读top voted unit testing个问题中的一些问题可能会让您了解为什么您将从测试中受益,无论是否使用TDD。
答案 2 :(得分:1)
当你说“我们不做TDD”时,你是说其他人不练习TDD,或者你的老板是否禁止你练习TDD?如果它是第一个,那么你可以根据需要练习TDD,只要你不试图强迫其他人这样做。如果它是另一个,那么告诉你的老板他们付钱给你编写代码的最佳方式,并且TDD是你如何做的一部分。
你可以在不练习TDD的情况下编写测试。人们一直这样做。用古老的谚语“测试,直到恐惧变成无聊”。为您担心的任何内容编写测试可能无法正常工作。