我真的没有看到BDD和TDD之间的区别。我的意思是,两者只是测试如果预期发生。我看过BDD测试这样充实,他们实际上算作为TDD测试,我看到TDD测试是如此模糊,他们黑盒子很多代码。让我们说我相信,两者都更好。
这是一个有趣的问题。我从哪说起呢?我从高层次的BDD测试开始吗?我从低级TDD测试开始吗?
I honestly don’t see the difference between BDD and TDD.
这是因为没有任何。
I mean,both are just tests if what is expected happens.
那不对。 BDD和TDD绝对没有什么与测试有关。没有。 Nada。 Zilch。压缩。尼克斯。不是在丝毫。
不幸的是,TDD在几乎所有的东西(不仅在它的名字,而且在测试框架,单元测试,TestCase(你从tpyically继承的类),FooTest(通常保存你的测试的类)的单词测试, testBar(测试方法的典型命名模式),以及许多与测试相关的术语,例如“断言”和“验证”),这导致一些人相信它实际上与测试有关。所以,一些聪明的人说:“嘿,让我们改变名字”,以消除任何潜在的混乱。
这就是BDD。它只是TDD,任何测试相关的术语被行为相关术语的例子所取代:
>测试→示例
>断言→期望
> assert→should
>单位→行为
>验证→规格
> …等
BDD只是具有不同词语的TDD。如果你做TDD正确,你正在做BDD。不同的是 – 只要你相信至少在Sapir-Whorf假设的薄弱形式 – 不同的单词使它更容易做到正确。