在你指向文档之前,请指出这个最小的失败的例子有什么问题:
import org.scalatest.FlatSpec
import org.scalamock.scalatest.proxy.MockFactory
class StubbingTest extends FlatSpec with MockFactory {
trait Foo {
def f(x: Int): Int
}
"foo" should "stub" in {
val foo = stub[Foo]
(foo.f _).when(3).returns(4)
assert(foo.f(3) == 4)
}
}
这导致第 11 行的java.lang.NoSuchMethodException: com.sun.proxy.$Proxy4.mock$f$0()
:(foo.f _).when ...
根据文档,这应该有效。我在这里错过了什么?
我在浏览 Scaladoc 时纯粹是运气好才想通的:
改变
import org.scalamock.scalatest.proxy.MockFactory
自
import org.scalamock.scalatest.MockFactory
我的 IDE 的自动导入让我失败了,但如果 ScalaMock 文档示例包含正确的导入,那将非常有帮助。