Spock 块模拟以及连接它们的位置
Spock block mocks and where to wire them
我见过 Spock 测试,其中模拟在 given
块中连接和配置(这对我来说最有意义),以及获得测试的唯一方法的情况通过要求我 wire/configure then
块内的模拟,这对我来说简直是愚蠢的。后者的一个例子是问题 .
所以我问:是什么决定 where 实际上是 wire/config 模拟,在 given
或 [=11= 中]? 我真的希望答案不仅仅是“继续玩它直到它工作”,因为这对我的小机器人大脑来说太不确定了。
Mocks 和 Stubs 应该在 setup
/given
块中实例化,甚至在 setup()
方法中实例化,如果你打算在多个测试中使用它们并希望减少样板文件。
在我看来,Mocks 和 Stubs 的行为应该定义在范围最窄的有意义的地方。 then
通常最有意义,但是定义您并不真正关心仔细检查的一般行为可以放在 setup
/given
块中,甚至可以放在 setup()
方法。
我见过 Spock 测试,其中模拟在 given
块中连接和配置(这对我来说最有意义),以及获得测试的唯一方法的情况通过要求我 wire/configure then
块内的模拟,这对我来说简直是愚蠢的。后者的一个例子是问题
所以我问:是什么决定 where 实际上是 wire/config 模拟,在 given
或 [=11= 中]? 我真的希望答案不仅仅是“继续玩它直到它工作”,因为这对我的小机器人大脑来说太不确定了。
Mocks 和 Stubs 应该在 setup
/given
块中实例化,甚至在 setup()
方法中实例化,如果你打算在多个测试中使用它们并希望减少样板文件。
在我看来,Mocks 和 Stubs 的行为应该定义在范围最窄的有意义的地方。 then
通常最有意义,但是定义您并不真正关心仔细检查的一般行为可以放在 setup
/given
块中,甚至可以放在 setup()
方法。