【问题标题】:BDD And Unit TestingBDD 和单元测试
【发布时间】:2011-01-20 16:55:07
【问题描述】:

我一直在做 TDD,并且更多地将其用作单元测试,而不是推动我的设计。最近我读了很多关于 BDD 的文章;现在我对它们有了更好的了解,我试图弄清楚如何同时使用 BDD 和单元测试。

例如,我会使用 BDD、Dan North 风格来推动我的设计,假设我正在开发一个应用程序并且我有一个简单的规范并实现它。我有足够的 bdd/spec 来覆盖它。现在,在我对它进行了重构并且很高兴并且按照规范通过了它之后,我是否应该开始编写单元测试来涵盖所有可能的输入,因为这就是我在 TDD 中所做的?

我是公司唯一的开发人员,一切都在我的肩上,虽然其他团队确实尝试手动测试应用程序,但我想降低缺陷率。

【问题讨论】:

  • 那么我们能否看到我是否应该开始编写单元测试来涵盖所有可能的输入,因为这就是我在 TDD 中所做的的实际答案?我真的有同样的问题,不认为这本书的链接(即使它很酷)足以接受它。
  • jibie 你的权利我已经添加了我自己的答案。虽然迟到了!

标签: .net tdd bdd


【解决方案1】:

拿起“RSpec Book”。本书使用 Cucumber & RSpec。可能很容易成为 Cucumber & NUnit 或其他东西。 Cucumber 和 BDD 将 red、green、refactor 的概念扩展得更深。

http://www.pragprog.com/titles/achbd/the-rspec-book

黄瓜:http://cukes.info/
RSpec:http://rspec.info/
NUnit:http://www.nunit.org/
JUnit:http://www.junit.org/

【讨论】:

  • 我同意,这本书很棒。 Cucumber 也可以与 .NET 一起使用。
  • 是的,还有 Java。 Cuke for Nuke 和 Cuke for Duke。
  • 现在拿到这本书了,我必须说它很棒。
  • 很好,这是一本好书。很高兴你同意。
  • 还可以查看 SpecFlow (www.specflow.org)。它是一个纯 .NET 工具,并试图将实用的 BDD 带入 .NET。
【解决方案2】:

我同意。 RSpec Book 这本书很好地描述了“由外而内”的开发方法。 Cucumber(外部)有助于描述预期的行为(用用户理解的术语);并且 RSpec/*Unit (inside) 有助于描述你的类的行为。

【讨论】:

  • Outside-in 从 Cucumber 中的场景开始,但随后的想法是您从用户界面向内通过控制器、存储库、服务等工作,直到您的场景通过。您永远不会编写更接近用户界面的类不需要的代码(用户可以是其他系统)。即使在课堂级别,我们也会先进行“外部”课程。
猜你喜欢
  • 1970-01-01
  • 2011-05-08
  • 2011-03-08
  • 1970-01-01
  • 2010-12-09
  • 1970-01-01
  • 1970-01-01
  • 2021-05-14
  • 1970-01-01
相关资源
最近更新 更多