Eclipse에서 단일 JUnit 테스트 실행


85

여러 테스트가 포함 된 테스트 스위트가있는 경우 코드 편집기의 컨텍스트 메뉴 또는 JUnit보기에서 단일 단위 테스트를 실행하려고하면 항상 전체 스위트를 실행해야한다고 주장하는 것 같습니다. 단일 테스트. 이 동작을 변경하기 위해 비활성화하는 방법이 있습니까? 그래야 실행하도록 요청할 수 있습니다.


11
답변 옆의 녹색 표시를 확인하여 베스트 답변을 선택하면 좋을 것입니다.
guerda 2010

답변:


96

패키지 탐색기에서 클래스를 펼칩니다. 모든 방법을 보여줄 것입니다. 실행하려는 방법 중 하나를 마우스 오른쪽 버튼으로 클릭 한 다음 컨텍스트 메뉴에서 다음으로 실행-> JUnit을 선택합니다 (Eclipse 3.4.1로 테스트). 또한 JUnit-results보기의 단일 항목에서 "실행"을 선택하여 테스트를 다시 실행하는 것도 동일한 방식으로 작동합니다.


3
불행히도 이것은 해당 클래스에서 직접 구현 된 테스트 메서드에서만 작동합니다. 상속 된 @Test 메서드에는 작동하지 않습니다.
Christopher Barber

1
메서드 이름을 클릭해야하는 것으로 나타납니다. 메서드 내부를 클릭하면 전체 클래스가 실행됩니다. (또는 적어도 그것이 나를 위해 행동하는 방식입니다.)
emragins

테스트 할 방법을 빠르게 찾는 데있어 불편 함이없는이 특정 "패키지 탐색기"에서만 작동합니다. 게다가 디버거는 다른 방법을 건너 뛰도록 이음새를내어 추가 시간을 소비합니다. 더 나은 방법이 있어야합니다 ...
Macilias

그리고 그것은 깨지기 쉽습니다 ... 이제 이클립스는 이런 식으로 실행할 때 다른 테스트를 건너 뛰지 않기로 결정했습니다 :(
Macilias

26

내가 아는 가장 빠른 방법 :

  1. Ctrl+ Shift+ (커서를 현재 메서드 선언으로 이동)을 누릅니다 .
  2. 키를 누릅니다 Alt+ Shift+ x(또는 d디버그 용)을 누른 다음을 누릅니다 t(핫키 "실행의 JUnit 테스트" ),
  3. 테스트 결과 확인,
  4. Alt+ 를 눌러 이전에 있던 코드 줄로 돌아갑니다.

모든 테스트를 실행하려면 1 단계와 4 단계를 건너 뛸 수 있습니다.


13

Eclipse 3.5에서는 테스트 실행기를 JUnit 3으로 변경하여이 문제를 해결할 수 있습니다. 이는 JUnit 4 테스트가 아닌 JUnit 3 테스트에서만 작동합니다. 다음을 수행하여 테스트 실행기를 변경할 수 있습니다.

  1. 개요 탐색기에서 테스트 방법 중 하나를 마우스 오른쪽 버튼으로 클릭합니다.
  2. 실행 도구-> 구성 실행을 선택하십시오.
  3. '테스트'탭에서 '단일 테스트 실행'을 선택합니다.
  4. 테스트 실행기 드롭 다운에서 'JUnit 3'을 선택합니다.

다른 버전에서도 작동 할 수 있습니다.


좋은 전화! 실행 구성 대화 상자에서 "Test Runner"를 "JUnit 3"로 변경하면 Eclipse 3.6.0 (Helios)에서 저에게 효과적이었습니다. 이제 JUnit 테스트에서 단일 메소드를 실행할 수 있습니다. FWIW, 개별 JUnit 3 또는 4 테스트 클래스를 실행하는 데 문제가 없었습니다 .
Adam Monsen

이것이 저에게도 효과적이었습니다. 위의 답변은 더 많은 찬성표가있는 것처럼 보이지만 그렇지 않았습니다.
dreza

12

이것은 JUnit 4.8.2를 사용하는 Eclipse Indigo에서 가능합니다. Outline창 에서 개별적으로 단위 테스트 할 메서드를 마우스 오른쪽 단추로 클릭 하고을 선택 Run As -> JUnit Test합니다.

소스 편집기에서 테스트 메소드 이름을 선택적으로 마우스 오른쪽 버튼으로 클릭하고을 선택할 수도 Run As -> Junit Test있습니다.


1
특정 테스트 케이스를 테스트하는 것 같습니다. 그러나 그 후에도 여전히 다른 테스트 사례에서 계속됩니다.
lwpro2 2013-06-25

@ lwpro2 단일 테스트 케이스를 테스트하려면 JUnit 4 (주석)를 사용해야합니다. JUnit 3 (Extend TestCase)은 모든 관련 테스트를 계속 실행합니다.
AnthonyW

1
wulfgar.pro 저는 @ lwpro2에게 JUnit 4 러너로 JUnit 테스트를 실행하고 있다면 (예를 들어 JUnit 4.8.2를 사용하고 있기 때문에) 테스트가 여전히 TestCase를 확장한다는 것을 알았습니다. 자체 테스트. JUnit 3 실행기를 사용하거나 주석을 사용하여 테스트를 변환해야합니다.
AnthonyW

의견 주셔서 감사합니다. 그러나 SpringJunit4ClassRunner와 함께 Junit4를 사용했습니다. 어쨌든 큰 문제는 아닙니다. 주석에 대한 주석은 빠릅니다.
lwpro2 2013-07-25

이 대답은 간단합니다
잭슨 이야기

9

Strg+를 사용하지 말고 F11핫키 Alt+ Shift+ X-> T.
그런 다음 Eclipse는 현재 열려있는 파일을 JUnit 테스트로 실행합니다. 녹색 재생 버튼은 마지막으로 선택한 실행 구성 만 실행합니다.

나를 위해 Alt+ Shift+ X-> 와 잘 작동합니다 T.


감사. 그러나 단위 테스트에 의해 테스트되는 클래스에서 작업하고 있다고 가정하십시오. 클래스를 수정할 때 창을 UnitTest 파일로 전환하지 않고 해당 UnitTest를 어떻게 실행합니까?
bibstha

@bibstha Ctrl + 3을 사용하고 "rerun"을 입력 할 수 있습니다. 이를 통해 마지막 JUnit 테스트 케이스를 다시 실행할 수 있습니다. 창-> 기본 설정-> 일반-> 키에서이 작업에 대한 고유 한 바로 가기를 지정할 수 있습니다. 제 생각에는 Ctrl + Shift + F11이 적합 할 것입니다.
guerda

9

단일 단위 테스트 (메소드)를 디버그 할 수있는 매우 생산적인 키보드 전용 방법을 포함하여 다른 기능에 추가하겠습니다.

다음 중 하나를 사용하여 커서를 메서드 이름으로 이동합니다.

  • Ctrl+ Shift+ Up또는
  • Ctrl+ Shift+ Down또는
  • Ctrl+ o그런 다음 메서드 이름을 입력하십시오.

커서가 메소드 이름 (또는 바로 앞)에 있으면 :

  • Alt+ Shift+ D-> T(디버그)
  • Alt+ Shift+ X-> T(실행)

테스트를 실행 한 후 다음을 수행하여 커서가 있던 위치로 돌아갈 수 있습니다.

Alt+Back

다음과 같은 방법으로 거의 REPL을 얻을 수 있습니다.

Ctrl+ Shift+ UpAlt+ Shift+ X-> TAlt+Back

중단 점을 빠르게 설정할 수도 있습니다.

Ctrl+ Shift+B


3

파일의 테스트 메소드 이름을 마우스 오른쪽 단추로 클릭하고 "실행"-> "Junit 테스트"를 선택하십시오. 저는 항상 Kepler와 JUnit 4를 사용합니다.


2

다른 사람들이 Eclipse 3.4.1 및 JUnit 4 테스트 러너를 사용하는 것과 동일한 문제가있었습니다. 단일 테스트를 실행할 수 없었습니다. 그러나 문제를 해결하는 다른 제안을 찾았습니다. 내 테스트 클래스는 여전히 junit.framework.TestCase를 확장하고있었습니다. TestCase 확장을 중단했을 때 모든 것이 잘 작동했고 JUnit 4 테스트 러너로 단일 JUnit 테스트를 실행할 수있었습니다. 물론 JUnit 4 주석은 assert 메서드에 정적 가져 오기를 사용해야했지만 이미 그렇게했습니다. TestCase 상속을 제거하지 않았습니다.


1

두 개 이상의 파일에 많은 테스트가 있고 특정 파일에서만 테스트를 실행하려면 해당 파일을 마우스 오른쪽 단추로 클릭하고 다음으로 실행-> junit 테스트를 선택할 수 있습니다. 이제 여러 테스트가 포함 된 파일에 포함 된 하나의 테스트 만 실행하려면 개요보기가 파일에 대한 모든 테스트 방법을 나열 할 것이며 아마도 단일 테스트 메소드를 마우스 오른쪽 버튼으로 클릭하고 JUNit 테스트로 실행합니다.

도움이 되었기를 바랍니다.


1

하나의 테스트 방법 만 실행합니다.
(패키지 탐색기 또는 프로젝트 탐색기)에서 클래스를 펼칩니다. 모든 방법을 보여줄 것입니다. 실행할 하나의 메소드를 마우스 오른쪽 단추로 클릭 한 다음 컨텍스트 메뉴에서 다음으로 실행-> JUnit을 선택하십시오.
여기에 이미지 설명 입력


0

나에게는 이전 릴리스에서 작동했지만 Eclipse 3.4.2에서도 작동하지 않습니다 (패키지 탐색기에서 단일 메서드를 실행하고 junit보기에서 단일 junit 테스트를 시도했습니다)


패키지 탐색기에서 단일 메서드 / 테스트를 실행하면 Eclipse 3.4.2에서 잘 작동합니다.
Volker Stolz

0

3.4.2에 대한 요점은 이전 버전에서 더 이상 작동하지 않는다는 점에 동의합니다. JUnit보기에서 테스트 그룹의 단일 테스트를 마우스 오른쪽 단추로 클릭하고 해당 테스트 만 실행하기 전에. 최신 버전에서는 항상 모든 것을 실행해야한다고 주장합니다. 물론 뷰는 먼저 클릭 한 테스트를 실행하고 나머지는 "루팅되지 않은 테스트"라는 롤업에 덤프합니다. 누군가 이것을 알아 내면 나는 그것을 어떻게 극복하는지 알고 싶습니다.


0

여기에서 몇 가지 주석을 읽으면 작업중인 코드에 대한 집중을 잃지 않고 변경하는 코드에 대한 테스트를 실행하는 데 관심이있을 것 같습니다. 이를 수행하기위한 이클립스 플러그인이 있습니다. 무한을 참조하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.