2012-10-31 3 views
4

나는 그것을 작동하게했다! 말 그대로 선으로 스칼라 라인으로 여기에 자바를 번역 : 스칼라의 JUnit 테스트 카테고리?

https://github.com/junit-team/junit/blob/master/doc/ReleaseNotes4.8.md

는 대부분이 내 인 IntelliJ IDE가 제안 많은 도움 등 "공개"키워드를 제거, 배열을 (classOf [클래스 이름]) 일을 의미했다.


나는 시험의 범주를 실행할 수 있도록하려면, 그래서 "Version2dot3"와 "SlowTest"와 같은 시험의 하나 개의 클래스를 태그하고 그냥 "느린 테스트"를 실행할 수, 또는 "느리게 실행될 수 있습니다 테스트와 2.3 테스트 ".

http://weblogs.java.net/blog/johnsmart/archive/2010/04/25/grouping-tests-using-junit-categories-0

내가 거의 작동하는 기본 쉘 설정을 가지고,하지만 난을 실행하려고하면 나는 java.lang.Exception: No runnable methods 오류를 받고 있어요 : 내 스칼라에이 기사를 적응하기 위해 노력했습니다

는 테스트 testSuite.

아이디어가 있으십니까? SuiteClasses를 사용하여 특정 테스트 클래스 만 성공적으로 실행할 수 있었지만 테스트 범주 (@Category annotation)를 실행할 수 없었습니다.

import org.junit.experimental.categories.{Categories, Category} 
import org.junit.runners.Suite.SuiteClasses 
import org.scalatest.FunSuite 
import org.junit.runner.RunWith 
import org.scalatest.junit.JUnitRunner 

@RunWith(classOf[JUnitRunner]) 
@Category(Array(classOf[SlowTests])) 
class FunSuiteTest extends FunSuite with DemoHelpers { 
    test("demoTest1") { 
    println("\n\nrunning DemoTest1...\n\n") 
    } 
} 

@RunWith(classOf[JUnitRunner]) 
@Category(Array(classOf[SlowTests])) 
class FunSuiteTest2 extends FunSuite with DemoHelpers { 
    test("demoTest2") { 
    println("\n\nrunning DemoTest2...\n\n") 
    } 
} 

@RunWith(classOf[Categories]) 
@SuiteClasses(Array(classOf[SlowTests])) 
class testSuite { 

} 
+0

어딘가에 '@Test'속성이있는 메소드가 필요하지 않습니까? Like @Test def testSomeCode {...} – Noah

+0

예, 맞습니다. @Test 주석과 모든 것을 JUnit 스타일로 완성했습니다. –

+0

문제가 해결되면 자신의 질문에 답하고 대답을 수락해야합니다. –

답변

2

선으로 스칼라 라인으로 여기에 자바를 번역 :

https://github.com/junit-team/junit/blob/master/doc/ReleaseNotes4.8.md

는 대부분이 등을 배열 (classOf [클래스 이름]), "공공"키워드를 제거

을하고 의미 Scala 플러그인이 포함 된 IntelliJ IDE는 제안 사항에 많은 도움이됩니다.

+0

'@Category (Array (classOf [SlowTests])) 주석은 개별 메소드가 아닌 클래스에만 적용될 수 있습니다. – Noel