2009-12-08 2 views
2

JUnit을 사용하고 있습니다. 많은 다른 테스트 케이스를 테스트하기 위해 테스트 메소드에서 assertEquals()를 여러 번 호출하려고하지만 많은 테스트 메소드를 갖고 싶지 않습니다. 그래서 setUp() 및 tearDown()을 사용합니다. 하지만 첫 번째 assertEquals()가 실패합니다. 두 번째 assertEquals()가 작동하지 않고 setUp() 메서드가 한 번 호출되었습니다.setUp() 및 tearDown()을 사용하여 assertXXX manytimes를 호출하는 방법

여기 Pls는 저 생 버그를 수정하는 데 도움이 내 코드

public class ComputeServiceTest extends TestCase { 

private ComputeServices instance = new ComputeServices(); 


public ComputeServiceTest(String name) 
{ 
    super(name);   
} 

protected void setUp() 
{ 
    System.out.println("aaaaaaaaaaaaaaaaaaaaa"); 
    instance = new ComputeServices(); 
} 

protected void tearDown() { 

} 

//test add method 
public void testAdd1() 
{    
    //instance = new ComputeServices(); 
    //First test case 
    int x1 = 7; 
    int y1 = 5; 

    int expResult1 = 13; 
    int result1 = instance.add(x1, y1); 
    assertEquals("First test case fail",expResult1, result1); 

    // Second test case 
    System.out.println("AAAAAAAAAAAAAAAAAAAAAaaaaaaaaaa"); 
    int x2 = 9; 
    int y2 = 6; 

    int expResult2 = 16; 

    int result2 = instance.add(x2, y2); 
    assertEquals("Second test case fail",expResult2, result2); 
} 

}

입니다.

+1

7 + 5 = 13? 9 + 6 = 16? 이것은 의도적입니까? –

+0

관련 항목 : http://stackoverflow.com/questions/1864290/how-can-i-run-many-test-cases-for-a-test-method 또는 중복 될 수 있습니다 ... –

답변

0

당신은 그것들을 작동시켜야한다. 그렇지 않다면, 지금 많은 시험 방법에 써라.

감사

마이크 [;-) 당신이 정말로 하나의 시험 방법에만, 당신이 당신의 고유 한 시험 방법의 끝에 단일 주장 할 수 있습니까하고자 할 경우

0

:

assertEquals("my big assertion", 
      true, 
      ((expResult1==result1) && (expResult2, result2)); 

하지만 그다지 권장하지 않습니다. 그러면 어떤 테스트가 실패했는지 어떻게 알 수 있습니까? 세부 사항은 없습니다.

TestCase에서 여러 가지 테스트 메소드를 사용하지 않으려면 어떻게해야합니까? 당신이 원하는 것을 성취 할 수있는 또 다른 방법이있을 수 있습니다.

3

도구 (JUnit)를 올바르게 사용하지 않는 것 같습니다.

단위 테스트는 실패하거나 성공할 수 있습니다. 반 성공 또는 반 실패 테스트와 같은 것은 없습니다.

하나의 설정이 모든 테스트에 충분해야합니다. 하나 이상의 설정 호출이 필요하면 하나의 테스트에 여러 테스트를 넣어야합니다.

많은 작은 테스트로 테스트를 분할 할 때 단점이 있다고 생각하지 않습니다. 설치 및 해체가 너무 무거워서는 안되며, 테스트를 ms 단위로 실행해야하며 테스트의 세분성이 높을수록 더 이상 작동하지 않는 기능을 정확히 알 수 있습니다.

관련 문제