2016-08-25 4 views
0

이것이 매우 일반적인 문제이며 이미 검색했지만 어떻게 든 내 문제를 해결할 수 없다는 것을 알고 있습니다. 여기 Junit 테스트 케이스를 명령 줄에서 실행하는 방법

문제 컨텍스트입니다 :

만든 내 JUnit 테스트 케이스에 대한 (받는다는 빠른 시작과 일식 및 사용 된 JUnit 버전 4.12를 사용) 메이븐 프로젝트. 구조 - enter image description here

되어 다음 그리고 이것은

package JunitRnD.JunitArtifact; 

import static org.junit.Assert.*; 

import java.util.Stack; 

import org.junit.Test; 

public class AppTest { 

    @Test 
    public void emptyTest() { 
     Stack<String> stack = new Stack<String>(); 
     assertTrue(stack.isEmpty()); 
    } 
} 

이 사업이 위치 아래에있는 파일 -의 JUnit 내용입니다 :

/Users/_eclipseWork/JunitArtifact 

그리고 이것은 디렉토리 -의 내용입니다 enter image description here

JUnit 테스트 이클립스에서 작동합니다. 하지만 커맨드 라인에서 실행하고 싶습니다. 내가 여기 실종 무엇 오류 -

Caused by: java.lang.ClassNotFoundException: JunitRnD/JunitArtifact/AppTest 

다음 그래서 나는 - 명령

나는 또한 디렉토리 구조에 따라 다른 변형을 사용
cd /Users/_eclipseWork/JunitArtifact 

java -cp .:/Users/.m2/repository/junit/junit/4.12/junit-4.12.jar:/Users/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar org.junit.runner.JUnitCore JunitRnD/JunitArtifact/AppTest 

다음 사용하지만, 항상 받아?

추신 : 또한 .java 및 .class 확장자를 넣으면서 시도되었습니다.

+0

받는다는 단일 테스트를 실행하는 "명령"을 가지고, FWIW http://maven.apache.org/ 내가 – rogerdpack

+0

Adam Rosini 링크를 가져 주셔서 감사합니다. 그러나 나는 벌써 시도했다. 그리고 그것은 쓸데없이 갔다. 제 디렉토리 구조를 보시고 명령을 어디서 실행해야합니까? – Sam

+0

http://stackoverflow.com/a/3997971/2464657 – Adam

답변

2

테스트를 실행하려면 Maven을 실행해야합니다.

mvn -Dtest=JunitRnD.JunitArtifact.AppTest test 

또는 Maven없이 실행하려면 테스트 러너가 필요합니다. 당신이 할 수있는

https://github.com/junit-team/junit4/wiki/test-runners

:

를 살펴 보자

java org.junit.runner.JUnitCore TestClass1 [...other test classes...] 
+0

-Dtest (+1)로 mvn이라는 아이디어를 좋아합니다. 이것을 공유해 주셔서 감사합니다. 그러나 그것은 여전히 ​​내 문제를 해결하지 못합니다. 커맨드 라인에서 테스트 케이스를 실행하고 Junitcore를 인식하고 동일하게 적용했지만 내 질문에서 언급 한 것처럼 실패했습니다. – Sam

관련 문제