【问题标题】:How do I mock static function (Object function, not class function) in scala如何在scala中模拟静态函数(对象函数,而不是类函数)
【发布时间】:2011-04-17 22:13:51
【问题描述】:
Object A {
  def a = { something}
}

// I've import A, but still have error message:  not found: type A
val x = mock[A]

【问题讨论】:

  • object,不是Object?适用的更新留给海报)
  • object A 的类型是A.type。如果你想定义类型A,你需要例如定义class A { /* as now */ },然后定义object A extends A

标签: scala object easymock


【解决方案1】:

你没有。不仅A 不是类型或类——它是一个实例——而且它是一个单例的实例(A.type)。

您所做的是将您的方法放在trait 上,并让对象扩展它。然后,你模拟特征而不是模拟对象。

【讨论】:

    【解决方案2】:

    您可能会发现this email thread 很有启发性。

    虽然目前尚无法使用任何工具对对象进行纯粹的模拟,但上面的线程确实为您提供了一些选择。所有这些都涉及在一定程度上更改您的设计。

    【讨论】:

      猜你喜欢
      • 2017-09-14
      • 2023-02-15
      • 2017-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多