我对TDD世界很新.我有一些关于TDD的问题.
我是否必须先在TDD中进行测试?我听说TDD不是关于测试的.这是关于设计.我同意先做测试是好的,但我想知道的是,如果我们遵循测试最后的方法,它仍然是TDD吗?
我们是否更愿意使用BDD而不是TDD?我曾经首先列出我的任务规范,然后尝试根据我的规范编写测试用例.这是错误的方法吗?你们喜欢使用BDD或TDD进行开发吗?
惩戒?我的团队中的一些人过去经常说他们正在尝试TDD.但他们从不遵循测试优先的方法.他们从不嘲笑数据.我们是否必须在TDD中模拟数据?
"使用Mock Library"Vs"手动创建带有数据的模拟类".您更喜欢使用模拟库还是使用一些模拟数据创建模拟类?
任何推荐的TDD或BDD书籍?我阅读了Kent Beck的经典测试驱动开发 - 通过示例.我发现这本书是在TDD的早期阶段出版的,所以本书中的一些内容并没有过时.
1)。在 TDD 中我必须先进行测试吗?我听说 TDD 与测试无关。这是关于设计的。我同意先测试是件好事,但我想知道的是,如果我们遵循后测试方法,它仍然是 TDD 吗?
是的!严格来说TDD是测试驱动开发。所以开发是由测试驱动的。因此,您首先进行测试,然后开发程序以通过所有测试。
2)。我们应该更喜欢使用 BDD 而不是 TDD 吗?我曾经首先列出我的任务规范,然后尝试根据我的规范编写测试用例。这是错误的做法吗?你们更喜欢使用 BDD 还是 TDD 进行开发?
我认为你应该平衡它们。使用其他技术在时间允许的情况下首先提供总体设计(进行风险管理以找到应该花在设计上的适当时间)(找到一篇关于“ RUP Essential ”的论文。它给出了关于平衡敏捷和不太敏捷的很好的想法)。确定最关键的部分,然后创建测试并开发以通过测试。
3).嘲笑?我团队中的一些人曾经说过他们正在实践 TDD。但他们从不遵循测试优先的方法。他们从不嘲笑数据。我们必须在 TDD 中模拟数据吗?
测试优先和模拟不是一回事。模拟允许代码更容易测试,并且当其他部分(该代码所依赖的)不存在时也可以测试。因此,如果没有这样的依赖关系(如果!!),那么你可以不嘲笑它们。(有关 Seam 点的更多详细信息,请阅读“有效处理遗留代码”)。
4). “使用模拟库”与“手动使用数据创建模拟类”。您更喜欢使用模拟库还是使用一些模拟数据创建模拟类?
我认为这就像使用其他人的库或创建自己的库一样。完全取决于情况和许多因素。例如,如果您的项目很大并且您可以找到合适的模拟库,请使用它。
5)。有什么关于 TDD 或 BDD 的推荐书籍吗?我读过 Kent Beck 的经典著作《测试驱动开发 - 通过示例》。我发现这本书是在 TDD 的早期阶段出版的,所以这本书中的一些内容并不算过时。
这里有关于TDD 的书籍列表。
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
1094 次 |
| 最近记录: |