例子:
object Test {
def test = {
doTest
}
protected def doTest = {
// do something
}
}
class MockTest extends WordSpec with Mockito{
"" in {
val t = spy(Test)
// how do i stub out doTest?
}
}
我有一个带有 protected doTest方法的Test类。如何将这个 protected 方法 stub ?
最佳答案
我建议将doTest
包设为私有(private),这样对象的客户端将无法调用它,但可以在同一包中对其进行测试。
package com.company.my.foo
object Test {
def test = {
doTest
}
private[foo] def doTest = {
// do something
}
}
和
package com.company.my.foo
class MockTest extends WordSpec with Mockito{
"" in {
val t = spy(Test)
when(t.doTest()).thenReturn("foo")
}
}
关于scala - 如何在Scala中的对象中 stub protected 方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25334063/