0

根据 javadocs,Groovy 的 MockFor 对象总是以验证结束。它的 StubFor 文档说调用验证取决于用户。我读到它说验证将自动在 MockFor 对象上调用。但是,在查看在 Java 对象上使用 MockFor 的 groovy 示例时(http://svn.codehaus.org/groovy/trunk/groovy/groovy-core/src/test/groovy/mock/interceptor/MockForJavaTest.groovy) ,他们明确地调用验证。我在测试中发现我需要做同样的事情。文档是不正确还是我误解了。任何帮助,将不胜感激。

谢谢,

杰夫

4

1 回答 1

1

根据文档(http://groovy.codehaus.org/Groovy+Mocks),使用 proxyInstance() 方法(对于 Groovy)或 proxyDelegateInstance() 方法(对于 Java,如在您引用的示例)确实需要显式调用来验证。

它是类风格的模拟——通过将闭包传递给 .use 方法来调用——它进行了隐式验证。Mock 和 Stub 都是这种情况。

我对 Mock 和 Stub 之间区别的理解是,它是在调用 verify 时验证的内容,而不是如何调用它。模拟验证事件以特定顺序发生,而存根只关心事件发生一定次数。

于 2009-10-20T06:10:54.940 回答