2010-12-07 4 views
1

여러 XML 입력 파일에서 읽는 junit 테스트를 매개 변수화했습니다. 코드에서,이처럼이 :mun 매개 변수화 된 junit 입력 XML 파일을 어디에 둘 것인지

@Parameters 
public static Collection<Object[]> getFiles() { 
    Collection<Object[]> params = new ArrayList<Object[]>(); 
    for (File f : new File(".").listFiles(new someInputFileFilter())) { 
    Object[] arr = new Object[] { f }; 
    params.add(arr); 
    } 
    return params; 
} 

가능 메이븐에서 이러한 XML 입력 파일의 수백을 포함하도록 권장되는 방법은 무엇입니까? 어디서 그것을 넣을 수 있습니까? 그리고 이러한 XML 파일을 읽으려면 위의 POM 및 소스 코드를 변경해야합니까?

답변

0

파일을 src/test/resources 어딘가에 넣으십시오 (예 : src/test/resources/xmlfiles). 이것은 Maven이 자동으로 이것들을 target/test-classes으로 미러링하게 할 것이다. 그럼 당신은 described by James Lorenzen로 소비 할 수

URL path = this.getClass().getResource("/xmlfiles"); 
File xmlfileDir = new File(url.getFile()); 
for (File f : xmlfileDir.listFiles(new ...Filter())) { 
    .... 
} 

없음 POM 변경은 필요하지 않습니다.

+0

대신 this.getClass(). getResource ("/ xmlfiles"); ? 정적 메서드를 사용하여 매개 변수화 된 junit을 사용하고 있습니다. – bob

+0

@bob try MyTestClass.class.getResource ("/ xmlfiles")' – yegor256

관련 문제