2013-04-10 4 views
0

몇 가지 이유로 아래 테스트는 Windows에서는 실패하지만 Linux에서는 성공합니다. 이 테스트는 테스트중인 코드에서 예외를 생성하도록 설계되었습니다. 예외는 기본적으로 파일 예외입니다. 접근법은 예외를 생성하기 위해 파일을 읽을 수 없도록 만드는 것입니다. setReadable (false)가 Windows에 영향을주지 않는 것처럼 보입니다.Linux에서 TestNG 테스트가 통과하고 창에 오류가 발생했습니다.

@Test(dependsOnGroups = "expectedFlow",expectedExceptions = ParserException.class) 
@Parameters("unreadableFile") 
public void mineDataParserExceptionTest(String unreadableFile) throws ParserException{ 
    AbstractParser parser; 
    File f = new File(unreadableFile); 
    f.setReadable(false); 
    parser = ParserFactory.getParser(ParserFactory.TYPES.SAR); 
    parser.mine(fileHelper, xml); 
} 
+0

** f.setReadable (false); **의 결과는 무엇입니까? 어떤 예외가 발생합니까? – Alex

+0

unreadableFile의 값은 무엇입니까? (경로 형식은 Linux와 Windows에서 다름) – talnicolas

+0

f.setReadable (false)는 예외를 throw하지 않습니다. 참/거짓 부울을 반환합니다. 그러나 두 줄 후에 발생하는 parser.mine (fileHelper, xml)의 작동에는 영향을줍니다. 파서는 읽을 수 없도록 설정된 파일을 열려고 시도하고 예외를 생성해야합니다. – eeijlar

답변

0

성공했는지 확인하려면 반환 값을 확인해야합니다. 그러나 f.setReadable(false, false);은 더 좋은 아이디어 일 수 있습니다. 그렇지 않으면 파일의 소유자에 대한 읽기 권한 만 변경해야하기 때문에 더 좋은 아이디어 일 수 있습니다.

관련 문제