如何在scala中模拟静态函数(对象函数,而不是类函数)

时间:2011-04-17 22:13:51

标签: scala object easymock

Object A {
  def a = { something}
}

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

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:2)

您可能会发现this email thread具有指导性。

虽然使用任何工具都无法对该对象进行纯粹的模拟,但上面的线程确实为您提供了一些选项。所有这些都涉及到在某种程度上改变你的设计。