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

如何在scala中模拟静态函数(对象函数,而不是类函数),scala,object,easymock,Scala,Object,Easymock,你可能会觉得很有启发性 虽然使用任何工具都不可能对对象进行纯粹的模拟,但上面的线程确实为您提供了一些选项。所有这些都会在一定程度上改变你的设计。你不会。A不仅不是类型或类,而是实例,而且是单例(A.type)的实例 相反,您要做的是将方法放在一个特征上,并使对象扩展它。然后,你模拟特征而不是模拟对象。(对象,而不是对象?适用的更新留给海报)对象A的类型是类型。如果要定义类型A,则需要定义类{/*如现在的*/},然后对象A扩展A。 Object A { def a = { something}

你可能会觉得很有启发性


虽然使用任何工具都不可能对对象进行纯粹的模拟,但上面的线程确实为您提供了一些选项。所有这些都会在一定程度上改变你的设计。

你不会。
A
不仅不是类型或类,而是实例,而且是单例(
A.type
)的实例


相反,您要做的是将方法放在一个
特征上,并使对象扩展它。然后,你模拟特征而不是模拟对象。

对象
,而不是
对象
?适用的更新留给海报)对象A的类型是
类型
。如果要定义类型
A
,则需要定义
类{/*如现在的*/}
,然后
对象A扩展A
Object A {
  def a = { something}
}
// I've import A, but still have error message:  not found: type A
val x = mock[A]