你怎么能用 ScalaMock 模拟一个特征的方法调用



在你指向文档之前,请指出这个最小的失败的例子有什么问题:

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 文档示例包含正确的导入,那将非常有帮助。

相关内容

  • 没有找到相关文章