如何用scala mock模拟一个类

时间:2015-06-14 23:39:18

标签: scalamock

在scalamock的文档中,有人说:

  

模拟类,特征和案例类

是支持的功能之一。

我有以下案例类:

questionQuery.whereKey("answeredBy", notEqualTo:aUser)

当我这样做时:

case class Thing(private val item: Item)

我收到以下错误:

val item = mock[Thing]

我知道我可以为它实现一个接口,但无论如何,这将有助于我更好地理解如何模拟一个case类/一个具有构造函数的类。

非常感谢,

Maatari

1 个答案:

答案 0 :(得分:13)

目前,您无法模拟没有定义默认构造函数的类。

您可以通过创建一个定义了默认构造函数并模拟该子类的子类来解决它:

class MockableThing extends Thing(null)
val item = mock[MockableThing]