我有以下特征(将由java.util.prefs.Preferences
包装器实现):
trait PreferencesMethods {
def get(key: String, default: String = ""): String
def getInt(key: String, default: Int = 0): Int
def put(key: String, value: String)
def putInt(key: String, value: Int)
}
我创建了一个像这样的EasyMock:
val preferencesMock = EasyMock.createMock(classOf[PreferencesMethods])
我在测试用例中这样称呼它:
EasyMock.expect(preferencesMock.getInt("key")).andReturn(0)
并且在测试中的类似:
preferences.getInt("key")
但是EasyMock抱怨我有一个意外的调用“getInt $ default $ 2”:“java.lang.AssertionError:Unexpected方法调用getInt $ default $ 2()”
如何模拟默认参数?
答案 0 :(得分:1)
我认为你最好用easymock做部分模拟或寻找像Borachio这样的原生scala解决方案(http://www.paulbutcher.com/2011/02/announcing-borachio-native-scala-mocking/)