2013-03-20 7 views
3

이 질문은 SO를 찾았으나 하나 뿐인 명령 줄에서 JUnit을 실행하는 방법을 찾았습니다.오류 : JUnit 명령 줄 테스트 클래스

나는 메이븐 (maven)을 사용하여 만든 작은 Javaproject를 가지고 있습니다. 이 프로젝트에는 JUnit 테스트 용 calsses, suite 및 test runner가 있습니다.

나는 maven을 사용하여 프로젝트를 컴파일했고 cs.jar이라는 프로젝트의 jar 파일을 얻었다.

이클립스 또는 maven 명령 줄에서 maven을 사용할 때 테스트가 잘 실행됩니다.

는 지금은 자신의 컴퓨터에 받는다는없는 내 동료에게이 cs.jar을 통과해야, 그래서 나는 그가 테스트 케이스를 실행하고 결과를 볼 수 있도록 그에게 junit.jarcs.jar를 보낼 것입니다 생각했다.

그는 윈도우 머신을 사용하고, 나는이 구문을 사용하여 명령 줄에서의 JUnit을 실행하는 그에게 지시를 보내라는 메시지가 얻을 그러나

java -cp cs.jar;junit.jar;hamcrest-core.jar org.runner.JUnitCore com.abc.cs.test.run.CSTestRunner 

을 - 나는 무엇을 놓치고

JUnit version 4.11 
Could not find class: com.abc.cs.test.run.CSTestRunner 

어떤 아이디어 ?

+0

두 클래스 (명령 줄 및 오류 메시지가) 일치하지 않습니다

그러나, 실제 솔루션은 메이븐 시류에 당신의 친구를 얻는 것입니다? –

+0

@ 매튜 - 아니 그게 문제가되지 않습니다. 예를 들어 패키지 이름을 수동으로 편집했습니다. 오타가 잘못되었습니다. 내 패키지 이름은 실제 코드에서 정확합니다. –

+1

jar -tvf cs.jar을 실행하고 클래스가 그 안에 있는지 확인하십시오. –

답변

1

Maven으로 프로젝트를 빌드 할 때 은 패키지 된 jar에서 테스트 클래스를 제외하기에 충분합니다.. 이것은 정상적인 동작이며 좋습니다. 당신은 빌드하고 좋은 가벼운 항아리를 얻을 때 당신의 테스트를 수행합니다.

jar로 테스트 클래스를 패키징하려면 (프로덕션 용도로 권장되지 않음) Maven's solution을 참조하십시오. 하면 문제가 생각 하는가,)