2016-07-26 3 views
0

TestLink, Cucumber, Jenkins 및 Maven을 사용하여 수락 테스트를 자동화하려고합니다. 그렇게하기 위해 Maven이 만든 MANIFEST.MF 파일을 읽으려고합니다. 테스트를 진행하는 동안이 작업을 수행해야합니다.테스트 실행 중에 어떻게 MANIFEST.MF 파일을 읽을 수 있습니까?

`public static String readVersion() throws IOException { 
InputStream in = VersionUtil.class.getResourceAsStream("/META-INF/MANIFEST.MF"); 
Manifest manifest = new Manifest(in); 
// Lire la propriété "Implementation-Version" du Manifest 
String version = manifest.getMainAttributes().getValue(Attributes.Name.IMPLEMENTATION_VERSION); 
return version; 
}` 

하지만 그것을 실행하려고 NullPointerException이 무엇입니까 ... 당신은 어떤 생각 이유가 있습니까 :

나는이 코드 예제를 발견?

간단한 명령으로 Maven을 시작합니다 : mvn package test.

이 코드가 실행되는 순간부터 문제가 발생한다고 생각합니다. 패키지 단계 이후에 실행해야합니다.이를 수행 할 방법이 있습니까?

감사합니다.

+0

으로 캐스팅 할 수 있기 때문에 당신이 아래의 코드를 시도 할 수 있다고 생각, 또는 그것은 메이븐에 의해 작성 전적으로? – watery

+0

완전히 Maven에 의해 작성되었습니다 –

답변

0

나는 대부분의 클래스 로더가 이미 프로젝트의 매니페스트 파일이 있습니까 URLClassLoader의

URLClassLoader cl = (URLClassLoader) getClass().getClassLoader(); 
try { 
    URL url = cl.findResource("META-INF/MANIFEST.MF"); 
    Manifest manifest = new Manifest(url.openStream()); 
    ... 
} catch (IOException E) { 
    // handle 
} 
+0

빠른 응답을 주셔서 감사합니다. 방금 시도했지만 Null Pointer 예외가 발생합니다. –

관련 문제