我有一个scala项目,我通过IntellJ使用调试器。
有时候,尤其是在编写单元测试时,我采用简单的方法来实现一些逻辑并稍后编写预期的对象。
基本上我做:
assert({} == actualValue)
然后我在某个时候想要调试到那一点并通过以下方式复制粘贴actualValue
的值:
这样我就可以这样插入:
val expected = FinishedRun(
id = "20180213165959sCdJr",
createdAt = "2018-02-13T16:59:59.570+0000",
finishedAt = "2018-02-13T17:00:18.118+0000"
)
然而,这就是我实际粘贴的内容:
FinishedRun(20180213165959sCdJr,Tue Feb 13 17:59:59 CET 2018,Tue Feb 13 18:00:18 CET 2018)
然后我必须再次调整这些值,我想避免这种情况。有没有办法可以转储案例类或将其复制为代码?
为了完整起见,这是带有伴随对象的示例案例类。答案应该适用于任何对象/变量:
case class FinishedRun
(
id: String,
createdAt: Date,
finishedAt: Date
)
object FinishedRun {
def apply(id: String,
createdAt: String,
finishedAt: String
): FinishedRun = {
new FinishedRun(id, createdAt = parseDate(createdAt), finishedAt = parseDate(finishedAt))
}
}