2011-04-12 51 views
1

我有以下特征(将要由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 $默认$ 2”: “java.lang.AssertionError:意外的方法调用getInt $默认$ 2()”

怎样嘲笑默认参数?

回答

1

我想你会更好地使用easymock进行部分模拟或寻找更多原生Scala解决方案,如Borachio(http://www.paulbutcher.com/2011/02/announcing-borachio-native-scala-mocking/ )