问题描述
如果我使用 ScalaTest 并将一个字符串与其他字符串进行匹配,如下所示:
actualStr shouldEqual expectedStr
...它有效——如果断言错误,我最终会得到类似这样的异常:
org.scalatest.exceptions.TestFailedException: "sample [actual]" did not equal "sample [expected]"
at org.scalatest.MatchersHelper$.indicateFailure(MatchersHelper.scala:340)
at org.scalatest.Matchers$AnyShouldWrapper.shouldEqual(Matchers.scala:6742)
然而,此时 ScalaTest 已经在消息中引入了“友好的”[]
,这实际上与 IDE(如 IDEA 或 Eclipse)如何显示获取原始字符串以显示差异(并突出显示匹配/不匹配部分) ) 在 GUI 中。
当字符串变大时,情况会变得更糟。 ScalaTest 仅显示其中的摘录(可能是为了使其在命令行调用中更好用),但实际上它使工作流程变得很混乱:
org.scalatest.exceptions.TestFailedException: "...om type_unkNown_many[]" did not equal "...om type_unkNown_many[,type_unkNown_many.ksy: /seq/1: error: unable to find type 'also_unkNown_name',searching from type_unkNown_many]"
at org.scalatest.MatchersHelper$.indicateFailure(MatchersHelper.scala:340)
at org.scalatest.Matchers$AnyShouldWrapper.shouldEqual(Matchers.scala:6742)
所以,我的问题是:是否有可能以某种方式在 ScalaTest 中禁用这个“不错”的 ASCII 突出显示和缩短,并让 IDE 获得完整的字符串值并在 GUI 中执行其差异魔法?
更新:看起来这个突出显示是由一个名为 Prettifier 的组件完成的,看起来 request to make it configurable 自 2017 年以来就存在于 GitHub 上,遗憾的是没有得到答复。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)