我正在使用scalatest。问题是测试报告很难阅读。测试名称已替换$u0020
,:
和$colon
等空格。
例如:
def `test: find '.gitignore' file on disk` = {
//...
}
报告中的...将如下所示:
test$colon$u0020find$u0020$u0027$u002Egitignore$u0027$u0020file$u0020on$u0020disk
如何防止这种情况?
scala和scalatests的版本是:
libraryDependencies += "org.scalatest" % "scalatest_2.10.0-M7" % "1.9-2.10.0-M7-B1" % "test"
scalaVersion := "2.10.0-M7"
被修改
线索。我认为幕后使用Thread.currentThread().getStackTrace()(depth)
。
答案 0 :(得分:4)
考虑扩展FunSuite
:
@RunWith(classOf[JUnitRunner])
class SomeTest extends FunSuite {
test("test: find '.gitignore' file on disk") {
//..
}
}
答案 1 :(得分:2)
我认为当您升级到Scala 2.10.0-M7时,您不小心将ScalaTest 2.0里程碑版本降级为ScalaTest 1.9。后面标记中的漂亮方法名称是ScalaTest 2.0功能,该功能在2.0之前的ScalaTest版本中不可用。您可能希望使用为Scala 2.10.0-M7构建的2.0.M4版本的ScalaTest。
libraryDependencies += "org.scalatest" %% "scalatest" % "2.0.M4-2.10.0-M7-B1" % "test"
scalaVersion := "2.10.0-M7"
您还会注意到有关Suite测试方法的弃用警告,即使在2.0.M4-2.10.0-M7-B1下,它们仍可能会出现美元符号。这是因为Suite在2.0.M4中被批评为一种特殊的特征。要获得漂亮的名称,您需要将套件移植到Spec。
http://www.artima.com/docs-scalatest-2.0.M4/#org.scalatest.Spec