TDD新手推荐的东西

我对TDD世界很新.我有一些关于TDD的问题.

>我是否必须先在TDD中进行测试?我听说TDD不是关于测试的.这是关于设计.我同意先做测试是好的,但我想知道的是,如果我们遵循测试最后的方法,它仍然是TDD吗?
>我们是否更愿意使用BDD而不是TDD?我曾经首先列出我的任务规范,然后尝试根据我的规范编写测试用例.这是错误的方法吗?你们喜欢使用BDD或TDD进行开发吗?
>嘲笑?我的团队中的一些人曾经说他们正在尝试TDD.但他们从不遵循测试优先的方法.他们从不嘲笑数据.我们是否必须在TDD中模拟数据?
>“使用Mock Library”Vs“手动创建带有数据的模拟类”.您更喜欢使用模拟库还是使用一些模拟数据创建模拟类?
> TDD或BDD的任何推荐书籍?我阅读了Kent Beck的经典测试驱动开发 – 通过示例.我发现这本书是在TDD的早期阶段出版的,所以本书中的一些内容并没有过时.

1). Do I have to do test-first in TDD?
I heard that TDD is not about test.
It’s about design. I’m agreed that
it’s good to do test-first but what I
like to know is that is it still TDD
if we follow the test-last approach?

是!严格来说,TDD是测试驱动开发.所以开发是由测试驱动的.所以先测试,然后开发程序通过所有测试.

2). Shall we prefer to use BDD over
TDD? I used to list out the
specification of my task first and I
try to write the test case based on my
specification. Is it wrong approach?
Do you guys prefer using BDD or TDD
for your development?

我认为你应该平衡它们.使用其他技术首先提供最佳时间提供的整体设计(进行风险管理以找到您应该花费在设计上的适当时间)(查找关于“RUP essential”的文章.它提供了关于平衡敏捷和不敏捷的相当好的想法) .确定最关键的部分然后创建测试并开发以通过测试.

3).Mocking? Some people from my team
used to say that they are praticsing
TDD. But they never follow test-first
approach. they never mock the data. Do
we have to mock the data in TDD?

测试优先和嘲弄不是一回事.模拟允许代码更加可测试,并且当其他部分(此代码依赖)不存在时,可以测试代码.因此,如果没有这样的依赖(IF !!),那么你可以不嘲笑它们. (有关详细信息,请阅读关于Seam点的“Working Effectively with Legacy Code”).

4). “Using Mock Library” Vs “creating the mock class with data manually”. Do
you prefer to use mock library or
create the mock classes with some mock
data?

我认为这就像使用别人的其他库或创建你的.完全取决于情况和许多因素.例如,如果您的项目很大并且您可以找到适当的模拟库,请使用它.

5). Any recommended book for TDD or BDD? I read Kent Beck’s classic
Test-Driven Development – By Example.
I found that this book is published in
very early stage of TDD so some of the
things in this book are not a bit
outdated.

books on TDD here的清单.

希望这可以帮助.

相关文章

什么是设计模式一套被反复使用、多数人知晓的、经过分类编目...
单一职责原则定义(Single Responsibility Principle,SRP)...
动态代理和CGLib代理分不清吗,看看这篇文章,写的非常好,强...
适配器模式将一个类的接口转换成客户期望的另一个接口,使得...
策略模式定义了一系列算法族,并封装在类中,它们之间可以互...
设计模式讲的是如何编写可扩展、可维护、可读的高质量代码,...