2012-11-03 2 views
3

scalatest를 사용하고 있습니다. 문제는 테스트 보고서를 읽는 것이 어렵다는 것입니다. 검사 이름이 공백을 $u0020, :, $colon 등으로 바 꾸었습니다.

예제를 들어

test$colon$u0020find$u0020$u0027$u002Egitignore$u0027$u0020file$u0020on$u0020disk

어떻게 이런 일을 방지하기 위해 : 보고서에

def `test: find '.gitignore' file on disk` = { 
    //... 
} 

가 ... 모양을?

스칼라 버전과 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)을 사용한다고 생각한다.

+1

어떤 종류의 보고서입니까? 확실한? CI 서버? 소나? –

+0

표준 출력이 콘솔에 나타나는 것을 의미합니다. –

답변

2

내가 생각하는 당신이 스칼라로 업그레이드 할 때 2.10.0-M7, 실수 ScalaTest 1.9에 ScalaTest 2.0 이정표 릴리스에서 다운 그레이드. 백 틱에서 예쁜 메소드 이름은 2.0 이전의 ScalaTest 릴리즈에서는 사용할 수 없었던 ScalaTest 2.0 기능입니다. 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" 

은 또한 스위트의 테스트 방법에 대한 사용 중단 경고를주의 할 것이다, 그들은 가능성이 여전히 심지어 2.0.M4-2.10.0-M7-B1에서 그들에 달러 기호 함께 올 것이다. Suite는 일반적으로 2.0.M4에서 stye 특성으로 사용되지 않으므로 그 때문입니다. 예쁜 이름을 다시 얻으려면 Suite를 Spec으로 이식해야합니다.

http://www.artima.com/docs-scalatest-2.0.M4/#org.scalatest.Spec

+0

마지막으로 FreeSpec으로 마이그레이션했습니다. 매우 유연하고 테스트 작성/읽기 방법을 이해하기 쉽습니다. –

4

대신 FunSuite을 확장 고려 :

@RunWith(classOf[JUnitRunner]) 
class SomeTest extends FunSuite { 

    test("test: find '.gitignore' file on disk") { 
     //.. 
    } 

} 
관련 문제