gpt4 book ai didi

scalamock - 如何用 scala mock 模拟一个类

转载 作者:行者123 更新时间:2023-12-04 13:26:40 28 4
gpt4 key购买 nike

在 scalamock 的文档中,据说:

mocking classes, traits and case classes



是支持的功能之一。

我有以下案例类:
case class Thing(private val item: Item)

当我做:
val item = mock[Thing]

我收到以下错误:

Error:(18, 24) not enough arguments for constructor Thing:
(item: org.dspace.content.Item)org.iadb.poolpartyconnector.dspaceutils.Thing.
Unspecified value parameter item.
val item = mock[Thing]
^


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

非常感谢,

马塔里

最佳答案

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

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

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

关于scalamock - 如何用 scala mock 模拟一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30835673/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com