【问题标题】:Scala (Easy)Mocking default method parametersScala (Easy) 模拟默认方法参数
【发布时间】:2011-08-04 05:20:47
【问题描述】:

我具有以下特征(将由 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 method call getInt$default$2()”

如何模拟默认参数?

【问题讨论】:

    标签: scala mocking default-value


    【解决方案1】:

    我认为您最好使用 easymock 进行部分模拟或寻找像 Borachio 这样的更多原生 scala 解决方案 (http://www.paulbutcher.com/2011/02/announcing-borachio-native-scala-mocking/)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-15
      • 2013-10-01
      • 2014-09-26
      • 2015-09-09
      • 1970-01-01
      • 1970-01-01
      • 2014-12-04
      • 1970-01-01
      相关资源
      最近更新 更多