2011-12-04 3 views
2

저는 Java로 멤버십 레코드 시스템을 생성했으며 현재 메인 내에 하드 코딩 된 테스트 데이터를 채우고 있지만이 테스트 데이터를 별도의 클래스에 추가하고 해당 클래스를 호출하고자합니다. 별도의 테스트 데이터 클래스를 갖는 것이 일반적입니까, 아니면 메인에서 초기화되는 것입니까? 어떤 아이디어 나 근원을 알려줄 수 있습니까?테스트 데이터를 Java의 메인 클래스에서 다른 클래스로 이동

현재 드라이버 클래스 :

public static void main(String[] args) { 

TestData tdata1 = new TestData(); 
tdat1.TestData(); 


Public Class TestData { 

Member jane = new Member ("jane"); 
Member alex = new Member ("alex"); 
Member mike = new Member ("mike"); 

Set<Member> members = new HashSet<Member>(); 
members.add(jane); 
members.add(alex); 
members.add(mike); 

답변

2

은 당신이 단위 테스트를 생각 해 봤나 :

public static void main(String[] args) { 

Member jane = new Member ("jane"); 
Member alex = new Member ("alex"); 
Member mike = new Member ("mike"); 

Set<Member> members = new HashSet<Member >(); 
members.add(jane); 
members.add(alex); 
members.add(mike); 

내가 가지고 싶은 무엇 뭔가처럼? junit을 사용하여 하드 코드 된 테스트 데이터를로드하고 테스트하는 테스트 메소드를 작성할 수 있습니다. 이렇게하면 프로그램을 테스트 코드에서 제외하고 (메인을 정리하여) 테스트를 구현할 수 있습니다.

또는 멤버십 레코드 시스템에 데이터 세트 파일을로드 할 수있는 작은 클래스를 만드는 방법은 무엇입니까? 이렇게하면 하드 코딩 된 테스트 값을 사용하여 해당 파일을로드 할 수 있으며 소프트웨어가 끝나면 여전히 레코드를 초기화 할 수있는 유용한 방법이됩니다. 그 기능이 의미가있는 경우에만하십시오!

public class Main { 
    public static void main(String[] args) { 

     TestData tdata1 = new TestData(); 
     tdat1.test(); 
    } 
} 

그리고 TestData.java에 : 어쨌든

public class TestData { 

    public void test() { 
     Member jane = new Member ("jane"); 
     Member alex = new Member ("alex"); 
     Member mike = new Member ("mike"); 

     Set<Member> members = new HashSet<Member>(); 

     members.add(jane); 
     members.add(alex); 
     members.add(mike); 
    } 
} 

, 당신은 단지의 JUnit을해야

0

나는 당신이하고자하는 것을 이해 모르겠지만 내가 생각 뭔가처럼 대신에 각 작업을 테스트합니다.

관련 문제