|
1
3
嗯,这取决于:-)据我所知,BDD生成的测试仍然是单元测试,因此应该使用mock来消除对外部因素(如DB)的依赖。 然而,在成熟的集成/功能测试中,您显然应该针对整个生产系统进行测试,而不需要任何模拟。 |
|
|
2
2
集成测试可能包含存根/模拟,以伪造您正在集成的模块之外的代码/组件。
|
|
3
2
是的,当一个场景运行时,理想情况下所有的类都是真实的。场景从用户的角度练习行为,因此系统应该像用户所看到的那样。 在BDD的早期,我们通常从场景中的模拟开始。我不再为这个费心了,因为在你下一级的时候,不断地嘲笑是一件很费劲的事。相反,我有时会做一些事情,比如硬代码数据或行为,如果它能让我更快地从涉众那里获得反馈的话。
当然,对于数据库之类的东西,可以使用内存中的DB或任何有助于更快获得反馈的东西。在某个时刻,您可能应该在一个尽可能接近生产的系统上运行您的场景。如果这个过程太慢,您可以在一夜之间完成,而不是作为常规构建周期的一部分。
祝你好运! |
|
|
4
0
我同意彼得和拉特科的观点。我认为你会永远保留mock,所以你总是有单元测试。 另外,还应该进行集成测试(没有模拟,使用数据库等)。 你甚至可以在中间找到一些有用的东西(模拟一段依赖代码(DOC),而不是另一段)。 |
|
|
5
0
|
|
|
theQuestionMan · 测试文件和功能文件位于不同的目录中 10 年前 |
|
|
Aftab Naveed · Behat3子上下文 10 年前 |
|
|
DanielM Onshop · 查找Behat中的步骤N 11 年前 |
|
|
user3735114 · web+移动应用程序的Cucumber文件夹结构 12 年前 |
|
|
JOG · 如何准确了解Behave中的错误 12 年前 |
|
|
ruby-digger · Rspec:如何测试局部渲染和参数? 12 年前 |