2014-04-16 2 views
0

나는 페스트로 자바 스윙 테스트를하고있다. 내 문제는 fixture (frameFixture.close() 프레임을 닫는 것입니다. @After tearDown() 테스트 방법 중 테스트 클래스 러너의 콘솔 출력을 차단/숨기기/소비합니다 (어느 것을 모르는 지). (즉, Result result = JUnitCore.runClasses(testClasses)에서 파생 된 인쇄물입니다.)자바 페스트 소비 콘솔 출력

어떤 원인 일 수 있습니까? 다음은 관련 테스트 setUp() 및 tearDown() 메서드 뿐 아니라 모든 테스트를 실행하고 집계 결과를 인쇄하는 코드 또는 Fest로 인해 불가사의하게 표시되지 않는 코드입니다. 테스트 클래스 러너에서

@Before 
    public void setUp() { 
     this.frameFixture = new FrameFixture(new DesktopView()) ; 
     this.frameFixture.show() ; 
    } 

    @After 
    public void tearDown() { 
     this.frameFixture.close() ; 
     this.frameFixture = null ; 
    } 

테스트 요약 (나는 frameFixture.close()를 호출 할 때이 억제됩니다) : 테스트 클래스의

setUp() and tearDown()

Result result = JUnitCore.runClasses(testClasses) ; 

    for(Failure failure : result.getFailures()) { 
     System.out.println(failure.toString()) ; 
    } 

    System.out.println("Tests called: " + result.getRunCount()) ; 
    System.out.println("Tests failed: " + result.getFailureCount()) ; 
    System.out.println("Execution time: " + result.getRunTime() + " ms") ; 
    System.out.println("All tests passed: " + result.wasSuccessful()) ; 

답변

1

내가 추가 할 정도로 명성 점수가 없습니다 의견, 그래서 내 노트를 답변에 추가 할 것입니다.

JFrame.EXIT_ON_CLOSE 옵션을 사용하여 메인 프레임을 닫은 경우 System.exit()가 호출 될 수 있습니다. 이 경우 how to handle System.exit() with FEST을 확인하십시오.

+0

이 경우 인 것처럼 보입니다. 추가 테스트를해야하지만 실제로 두 번째 테스트를 추가하면 실행되지 않습니다. 어리석은 나는 그것을 전에 생각하지 않았다. – Puchatek