BDD和单元测试

9

我一直在做TDD,更多地将其用作单元测试而不是驱动我的设计。最近,我阅读了很多关于BDD的内容;现在我对它们有了更好的理解,我正在尝试弄清楚如何同时使用BDD和单元测试。

例如,我会使用Dan North风格的BDD来驱动我的设计,假设我正在开发一个应用程序,并且我有一个简单的规范并实现了它。我有足够的BDD/规范来覆盖它。现在,在我重构代码并且它已经通过了那个规范,我是否应该开始编写单元测试来覆盖所有可能的输入,因为这就是我在TDD中所做的?

我是公司唯一的开发人员,所有事情都由我来承担,虽然其他团队试图手动测试应用程序,但我希望降低缺陷率。


2
那么我们能否看到一个实际的答案来回答“我应该开始编写单元测试以覆盖所有可能的输入,因为这就是我在TDD中所做的吗?”这个问题?我也非常有同感,并不认为书籍链接(即使它非常酷)足以接受它。 - jibiel
级别。没错,我已经自己添加了一个答案。虽然有点晚! - Jamie
2个回答

7

我同意,这本书很棒。而且Cucumber也可以与.NET一起使用。 - Jimmy Stenke
没错,还有Java。Cuke适用于Nuke和Cuke适用于Duke。 - Michael Pardo
现在拿到了这本书,我必须说它太棒了。 - Jamie
很好,这是一本很棒的书。很高兴你也这么认为。 - Michael Pardo

0

我同意。 RSpec Book 这本书对开发中“从外部到内部”的方法描述得相当好。 Cucumber(外部)帮助描述预期的行为(以用户可以理解的术语); 而 RSpec / * Unit(内部)则有助于描述类的行为。


Outside-in的方法从Cucumber中的场景开始,但是其思想是从用户界面开始向内部逐层工作,包括控制器、存储库、服务等,直到您的场景通过为止。您永远不会编写不需要由靠近用户界面的类(用户可以是其他系统)使用的代码。即使在类级别上,我们也先处理“外部”类。 - Lunivore

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接