2011-03-10 3 views
0

TestNG 팩토리를 사용할 때 테스트 클래스를 디버깅하는 데 문제가 있습니다. 디버그 모드에서 팩토리 클래스까지만 디버깅 할 수있는 것처럼 보입니다.TestNG @Factory : 테스트 클래스 디버깅이 불가능한 것 같습니다.

다음 예제에서는 WebTestFactory에서 디버깅하고 WebTest에서 불가능할 수 있습니다.

공장 클래스 :

public class WebTestFactory { 
    @Factory 
    public Object[] createInstances() { 
    Object[] result = new Object[10]; 
    for (int i = 0; i < 10; i++) { 
     result[i] = new WebTest(i * 10); 
    return result; 
    } 
} 

테스트 클래스 :

public class WebTest { 

    // **** BREAKPOINTS IMPOSSIBLE HERE **** 

    private int m_numberOfTimes; 
    public WebTest(int numberOfTimes) { 
    m_numberOfTimes = numberOfTimes; 
    } 

    @Test 
    public void testServer() { 
    for (int i = 0; i < m_numberOfTimes; i++) { 

    } 
    } 
} 

편집 : 추가 정보 : 내 현재 프로젝트 구조가 테스트 클래스와 공장이 다른 프로젝트에 있다는 것입니다. 공장은 내가 테스트를 실행하는 프로젝트에 있고 테스트 클래스는 외부 항아리에 있습니다.

편집 : TestNG 문제가 아닙니다. 이클립스가 다시 미쳤어!

답변

2

TestNG는 문제와 관련이 있습니다. Java 코드는 Java 코드이며, Eclipse가 실행할 수 있으면 Eclipse가 디버깅 할 수 있습니다. 코드가 다른 병 또는 다른 프로젝트에 있다는 사실은 아무런 효과가 없습니다. 차이점은 테스트가 다른 프로세스에서 실행되고 있는지 여부입니다. 그러나 여기에서는 테스트가 다른 것 같습니다.

이클립스가 중단 점을 어딘가에 배치하지 못하게하는 여러 가지 이유가 있습니다. Google에 주제를 제안하고 여기에 다시 리포트하는 것이 좋습니다.

+0

안녕하세요! 나는 TestNG 자신의 제작자가 여기에서 매우 활발히 활동하는 방법에 깊은 인상을 받았다. 방금 작업 공간을 정리하고 Eclipse와 PC를 재부팅하여 안전성을 확보했습니다. 내 워크 스테이션에 뭔가 잘못 됐나 봐. 다시 고마워! 나는 그 지위를 편집 할 것이다. – jmrjulian

+0

듣기 좋습니다. 알려 주셔서 감사합니다! –

관련 문제