2

我看到许多开发人员在开始一个新项目时不同意使用哪种类型的测试。我想知道你为什么选择这种特殊的风格而不是另一种。

4

4 回答 4

5

BDD 和 TDD 并不相互排斥。我认为,从需求分析开始,BDD 更多地解决了软件开发的整体问题。TDD 纯粹与实现相关,实际上是开发人员的个人工作技术。

于 2009-08-26T12:29:26.273 回答
4

我通常使用由外而内的原则。无论您将其称为 TDD 还是 BDD,对我来说都不那么重要。

这意味着我从我想要实现的功能的最重要部分开始,然后从那里开始工作。这通常是用户界面,但并非必须如此。有时最重要的领域是服务操作或后台进程,然后我从那里开始。

我使用测试替身来定义我定义的类如何与其环境交互,然后在我实现该特性时实现越来越多由这些测试替身定义的抽象。

所以我想你可以说我从 BDD 的心态开始,然后随着我在调用堆栈中的工作方式越来越多地转向 TDD,可以这么说。

于 2009-08-26T12:17:29.147 回答
3

TDD v BDD 真的是一种心态。我看到它的方式是,在 TDD 中,很多重点是此时这个值应该是什么,正如我所看到的 BDD,它当然也将测试值以及我们如何获得它们,因为更多的是,当这个处于这种状态,我的应用程序的这部分应该怎么做。

于 2009-08-30T14:41:20.653 回答
2

我学会了以 BDD 风格进行 TDD。这完全取决于你如何思考。
许多人错误地认为 TDD 是关于测试的。因此,BDD 的创建是为了通过强调行为而不是测试来最大程度地减少混淆。

于 2009-08-30T14:17:38.867 回答