JUnit 4 테스트 스위트


98

JUnit 4로 테스트 스위트를 어떻게 생성합니까?

내가 본 모든 문서가 나를 위해 작동하지 않는 것 같습니다. Eclipse 마법사를 사용하면 내가 만든 테스트 클래스를 선택할 수있는 옵션이 제공되지 않습니다.


4
이클립스 3.7 인디고으로, 테스트 스위트 마법사 이제 JUnit 4에서는 지원
파비안 슈 테크

답변:


147
import org.junit.runners.Suite;
import org.junit.runner.RunWith;

@RunWith(Suite.class)
@Suite.SuiteClasses({TestClass1.class, TestClass2.class})
public class TestSuite {
  //nothing
}

61

이렇게 스위트를 만들 수 있습니다. 예를 들어 AllTest스위트는 다음과 같습니다.

package my.package.tests;

@RunWith(Suite.class)
@SuiteClasses({
    testMyService.class,
    testMyBackend.class,
    ...
})

public class AllTests {}

이제 몇 가지 다른 방법으로 실행할 수 있습니다.

  1. 마우스 오른쪽 버튼을 클릭하고 Eclipse에서 Junit 테스트로 실행하십시오.
  2. 실행 가능한 Java 응용 프로그램을 만듭니다. 메인 클래스 = 'org.junit.runner.JUnitCore'및 Args = 'my.package.tests.AllTests'
  3. 명령 줄에서 실행 :

    $ java -cp build/classes/:/usr/share/java/junit4.jar:/usr/share/java/hamcrest-core.jar org.junit.runner.JUnitCore my.package.tests.AllTests

CMDLine에 대한 더 많은 VoteUp을 추가 할 것입니다. :)
Gruber

9

나는 TestSuite가 호의적이지 않은 것 같습니다. 4.x 이전 스타일 이었지만 지금은 내가 아는 한 그렇게 멀지 않았습니다.

원하는 테스트에 주석을 달고 클래스를 실행합니다. 주석이 달린 모든 테스트가 실행됩니다. Ant를 사용할 수도 있지만 대부분 IntelliJ가 나를 위해 실행합니다.


11
제가 틀릴 수도 있지만, 테스트 순서를 지정해야 할 때 TestSuite가 여전히 좋다고 생각합니다. 특히 더 복잡한 시나리오보다 작은 시나리오를 테스트해야하는 자동화 된 통합 테스트에서 그렇습니다.
bertie

@duffymo 지금까지 테스트 케이스를 테스트
스위트

6
많은 수의 테스트, 다른 기능 영역 / 모듈, '코어'와 보조 / 느리거나 값 비싼 비 코어 테스트를 구분하는 경우 (이러한 이유 중 하나) 테스트를 TestSuite로 구성합니다.
Thomas W

1
@SuiteClass여러 클래스 에서 주석을 사용할 수 있으며 Suites 내에 Suite를 중첩 할 수 있습니다. 3.x로 구성하는 생각은 여전히 ​​완전히 유효합니다 (사용해야 함). 이전과 똑같은 방식으로 모든 것을 구성 할 수 있습니다. 대신 주석 구문을 사용합니다 TestSuite.suite(). TestSuite주석 을 사용하는 것에는 실제로 이점이 없으며 조직적으로 동등한 주석을 사용하는 경우 모든 JUnit 4 개선 사항을 활용할 수 있습니다.
Thunderforge

3

Eclipse에서 JUnit 스위트를 작성하는 단계는 다음과 같습니다.

  1. Eclipse 'Java'퍼스펙티브의 '패키지 탐색기'보기에서 Eclipse Java 프로젝트 내부의 패키지에서 단위 테스트를 선택하십시오.
  2. 선택한 테스트 중 하나를 마우스 오른쪽 버튼으로 클릭합니다.
  3. 팝업 메뉴에서 새로 만들기, 기타…를 선택합니다.
  4. 'Java'폴더를 연 다음 'JUnit'폴더를 엽니 다.
  5. 'JUnit Test Suite'를 선택하고 'Next'버튼을 선택합니다.
  6. '마침'버튼 선택
  7. 결과 : 테스트가 자동으로 포함 된 'AllTests.java'스위트 파일이 생성됩니다.
  8. Eclipse에서 실행 버튼을 선택하십시오.
  9. 결과 : 제품군의 모든 테스트 실행
  10. 이제 ANT, Jenkins 또는 기타 빌드 구성 지속적 통합 도구를 사용하여이 스위트 파일을 가리킬 수 있습니다.

버전 정보 : eclipse Neon 및 JUnit 4 용입니다. 6 단계에서 'Finish'를 선택하기 전에 JUnit 3을 선택할 수도 있습니다.


ANT에서이 테스트 스위트를 실행하는 방법을 보여주는 build.xml 파일을 게시 할 수 있습니까?
LiborStefek

1

내 머리 꼭대기에서 TestSuite를 만들고 addTests를 호출하십시오. somesource가 hibernate 또는 apache와 같은 오픈 소스 lib를 시도하고 테스트 스위트 소스의 테스트 디렉토리 아래를 살펴보고 싶다면 ...

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