如何使用Mockito模拟/存根方法本地依赖?

时间:2012-03-15 00:35:02

标签: scala mockito easymock scalatest specs

让我说我有这个:

class Dependency1 {
    def methodD1 { }
}

class Dependency2 { 
   val dependency1 = new Dependency1
}

def myMethod() {
    val a = new Dependency1

    // I want to be able to stub this
    val b = a.dependency1.methodD1()
    ...
}

我想在RR(ruby模拟库)中做一些事情:

any_instance_of(Dependency1) do | obj | 
    stub(obj) { "123" }  # this would be like stub(obj) toReturn("123") with Mockito in Scala
end

我知道Mockito中有任何方法,但它是一个匹配器。我正在寻找类似的东西:

stub(anyInstanceOf(Dependency1).methodD1) toReturn("123")

有没有办法用Mockito / EasyMock / PowerMock / JMock模拟/存根本地依赖?

我在MockitoSugar上使用ScalaTest。

1 个答案:

答案 0 :(得分:4)

我知道这是Scala,而不是Java;但如果你看一下http://code.google.com/p/mockito/wiki/MockingObjectCreation上的Mockito wiki文章,它将介绍如何用Java解决这个问题。我想Scala解决方案将大致相同。