我已经看到Spock测试了哪些模拟器被连接起来&在given
块中配置(这对我来说最有意义),以及让测试通过的唯一方法需要我在{{1}内连接/配置模拟的情况阻止,这对我来说简直太愚蠢了。后者的一个例子是问题that I asked some time ago。
所以我问:在then
或given
中确定 实际连接/配置模拟的内容是什么?我真的希望答案不仅仅是" 继续玩它直到它起作用",因为这对我的小机器人大脑来说太不确定了。
答案 0 :(得分:2)
模拟和存根应该在setup
/ given
块中实例化,或者甚至在setup()
方法中实例化,如果您打算在多个测试中使用它们并希望减少样板。
在我看来,Mocks和Stubs的行为应该在最狭隘的范围内定义,这是有道理的。 then
通常最有意义,但定义您并不真正关心密切检查的一般行为可以放在setup
/ given
块中,甚至放在{{1}中方法。