2010-03-21 1 views
7

Junit 4를 사용하고 있습니다. 전체 프로그램이 정상적으로 작동하고 있습니다. 테스트 케이스를 작성하려고합니다. 그러나 여기 Java Junit 테스트 문제

아주 기본적인 샘플 테스트

public class di extends TestCase{ 
    private static Records testRec; 
    public void testAbc() { 
     Assert.assertTrue(
      "There should be some thing.", 
      di.testRec.getEmployee() > 0); 
    } 

} 

하나 오류 ...이 내가이 프로그램을 실행할 때 그것은

fName can not be null 

내가 슈퍼를 사용하는 경우 저에게 오류를 줄이 좋아해요

public TestA() { 
super("testAbc"); 
} 

괜찮습니다. 그것은이 이전의 JUnit 3.X와 내가 뭐하는 거지 잘못되지 않았거나 그들은 :( 내가 명확하지 않다 경우

슈퍼없이 테스트? 또는 함수 등을 호출을 executre 어떤 방법이 있나요 죄송합니다?

변경 각 단위 테스트가 의존 할 수 클래스에 static 멤버를 테스트 보조 노트로

public class MyTest { 
    private static Records testRec; 
    @Test 
    public void testAbc() { 
     Assert.assertTrue(
      "There should be some thing.", 
      MyTest.testRec.getEmployee() > 0); 
    } 
} 

: JUnit을 4에서

+0

TestAgnes 란 무엇입니까? 첫 번째 코드 스 니펫에서는 언급되지 않았습니다. 질문을 취소하십시오. 답장을 보내 주셔서 감사합니다. – Bozho

답변

16

대신 테스트 방법을 표시 할 @Test 주석을 사용, TestCase을 확장 할 필요가 없습니다 다른, 좋은 일이 아니야. 이것에 대한 좋은 이유가 있으니 static 한정자를 제거하는 것이 좋습니다.

+1

내가 이것을 시도했을 때, 그것은 나에게 "타입 불일치 : 테스트에서 주석으로 변환 할 수 없다"라는 에러를주었습니다.이 에러를 피하려면 어떻게해야합니까? @Test를 사용하면 나에게 준다 – user238384

+4

주석이 아닌 다른 Test 클래스를 가져온 것처럼 들린다. 문제를 해결할'org.junit.Test'를 가져 왔는지 확인하십시오. –

+0

감사합니다. ! ! – user238384

0

이 경우 사용자의 경우는 아니지만이 오류는 프로젝트에 Test.java이라는 파일이 있음을 의미 할 수도 있습니다. 이름을 변경하면 오류가 수정되지만 @Test@NewName (적어도 Eclipse에서는)으로 변경되므로 수동으로 다시 @Test으로 변경해야합니다.