scalatest报告包含$ u0020和$冒号

时间:2012-11-03 12:00:40

标签: scala scalatest

我正在使用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)

2 个答案:

答案 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