2012-02-18 6 views

답변

2

매우 모호한 질문입니다. 특히, JUnit 테스트를 어떻게 실행하는지 언급하지 않았습니다. 또한 'file'에 대해 언급했으며 파일에는 여러 개의 JUnit 테스트가 포함될 수 있습니다. 외부 테스트를 실행하기 전에 또는 실행하기 전에 외부 명령을 실행 하시겠습니까? 주제에

하지만 더 :

당신이 JUnit 4에서는하거나 @Before 주석과 방법을 태그 할 수 있으며 방법은 당신의 태그 @Test 각각의 방법 전에 실행됩니다 다음 이상을 사용하는 경우. 또는 static void 메서드를 @BeforeClass으로 태그 지정하면 클래스의 @Test 메서드가 실행되기 전에 실행됩니다.

public class MyTestClass { 

    @BeforeClass 
    public static void calledBeforeAnyTestIsRun() { 
     // Do something 
    } 

    @Before 
    public void calledBeforeEachTest() { 
     // Do something 
    } 

    @Test 
    public void testAccountCRUD() throws Exception { 
    } 
} 

당신이 다음 @Before@BeforeClass에 대한 교체로 setUp()setUpBeforeClass() 방법을 대체 할 수 있습니다, 4보다 이전의 JUnit의 버전을 사용하는 경우. 당신은 모든 단위 테스트를 위해 외부 명령을 실행하려면,

@Test 
public void shouldDoStuff(){ 
    Process p = Runtime.getRuntime().exec("application agrument"); 
    // Run the rest of the unit test... 
} 

다음은 @Before 설정 방법을 수행해야합니다 당신의 JUnit 4.0을 사용하는 가정

public class MyTestClass extends TestCase { 

    public static void setUpBeforeClass() { 
     // Do something 
    } 

    public void setUp() { 
     // Do something 
    } 

    public void testAccountCRUD() throws Exception { 
    } 
} 
+0

감사합니다. 귀하의 게시물은 언어 자체 (실행 구성 등)에 의존하지 않는 무언가를 기대하고 있었지만 본질적으로 제 질문에 대답합니다. – Petr

+0

@Petr - 문제 없음. JUnit은 매우 타이트하고 잘 정의 된 라이브러리입니다 (대부분의 사람들이 그것에 대해 좋아하는 것 중 하나입니다). 어떤 종류의 외부 설정을 커스터마이징하고 싶다면 좀 더 자세하게 지정해야합니다. 예를 들어 Maven, Ant, IDE 등에서 테스트를 실행하고 있습니까? – Perception

+0

@Petr-nvm 질문을 편집했습니다. JUnit 호출의 일부로 실행되도록 외부 명령을 구성 할 수 있다고 생각하지 않습니다. 그러나 제가 설명한 다른 방법들은 잘 작동합니다. – Perception

1

는 다음을 수행 할 수 .

관련 문제