2011-04-12 73 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/ )