2014-03-05 2 views
7

는 내가 build.sbt 에 다음과 같은 한 :SBT로 JUnit 4.11 테스트 케이스를 실행하려면 어떻게해야합니까?

libraryDependencies += "com.novocode" % "junit-interface" % "0.10" % "test" 

libraryDependencies += "junit" % "junit" % "4.11" % "test" 

나는 의 JUnit 인터페이스 0.10JUnit을-출발 4.10에 따라 달라집니다 것으로 나타났습니다. 따라서 assertNotEquals을 사용하여 junit 4.11에 도입 된 테스트를 컴파일 할 수 없습니다.

SBT로 JUnit 4.11 테스트 케이스를 실행하려면 어떻게해야합니까? JUnit을-DEP에 대한 종속성을 피하기 위해

+0

** ** junit-interface 0.11-SNAPSHOT **으로 처리 할 수있는 것처럼 보이지만 어디서나 게시 할 수는 없습니다. –

+0

어떤 SBT 버전을 사용하십니까? 의존성에'force()'를 사용하면 어떻게됩니까? –

+0

sbt 0.13.1을 사용하고 있습니다. 나는'force()'를 시도하지 않았다. 다른 해결 방법을 찾았습니다. 나는 지금 대답을 게시 할 것이다. –

답변

4

사용의 JUnit 인터페이스 0.11 :

libraryDependencies += "junit" % "junit" % "4.12" % "test" 

libraryDependencies += "com.novocode" % "junit-interface" % "0.11" % "test" 

UPDATE : JUnit을 인터페이스 0.11 JUnit을하기보다는 JUnit을-DEP에 따라하여 신뢰성을합니다.

+1

클래스 경로 정렬을 사용하면이 문제를 처리하기가 매우 어려울 수 있습니다. –

+0

@ JoeKearney 전적으로 동의합니다. 해결 방법입니다. junit-interface 0.11에서이 문제가 해결 된 것 같습니다. http://mvnrepository.com/artifact/com.novocode/junit-interface/0.11 –

8

내가 이런 짓을 했을까 : 우리가 원하지 않는 것을 제외하여

libraryDependencies ++= Seq(
    "junit" % "junit" % "4.11" % Test, 
    "com.novocode" % "junit-interface" % "0.11" % Test 
     exclude("junit", "junit-dep") 
) 

, 그것을 방해하지 않습니다. 이것은 주문에 의존하지 않습니다.

관련 문제