2012-06-08 4 views
0

기존의 JUnit 설정 :TestNG에 (Junit 러너와 비슷한) 테스트 클래스 전용 리스너가 있습니까?

나는 그것의 실행 전에 테스트 클래스를 분석하고 주석의 집계 값에 찾을수 테스트 클래스의 각 검증 방법에 작성된 사용자 정의 주석 구성을 공식화 읽는 JUnit 테스트 러너를 작성했습니다 그런 다음 테스트 환경을 설정하고 조작하는 데 사용합니다. 테스트 환경에서 수행 된 조작을 기반으로 테스트가 실행되면 결과가 생성됩니다.

현재 상태 :

이제 우리는 용어 및 실행의 방법 TestNG의에서 조금 다른 이해 .I 같은 작업 TestNG를 평가한다. 이제는 TestNG의 다양한 스위트 룸에 대해 서로 다른 스위트 파일을 가지고 있습니다. 각 스위트에는 여러 테스트 클래스가있는 테스트 섹션이 있습니다. 나는 TestNG에서도 (위에서 언급 한) Junit을 원했기 때문에 스위트가 실행되고 각 테스트 클래스가 실행될 때 테스트 클래스 실행 직전에 환경 설정 및 조작을 수행하려고한다. TestNG의 다양한 청취자로서 내 목적에 맞는 특정 수신기를 찾을 수 없었습니다 (개별 클래스 실행을 차단할 수 있음). 그게 내가 원하는 것을하기위한 청취자인가 아니면 내가하고 싶은 것을 성취 할 수있는 방법인가?

프로그래밍 방식으로 테스트 설정을 실행하고 TestNg의 기능을 평가하고 싶지 않으므로 접근 방법 자체를 비난하기보다는 내가 찾는 것에 대한 답을 제공하십시오.

답변

1

테스트 클래스의 모습, 사용하는 사용자 정의 주석 및 해당 기능에 대한 설명을 게시 할 수 있습니까?

설명에 따르면 IMethodInterceptor이 필요한 것일 수 있습니다 (TestNG는 실행하려는 메소드 목록을 제공하고 해당 목록을 변경할 기회가 있습니다).

+0

'@RunWith (MyRunner.class) @MyClassAnnotation (artifcats = { "TestApp.war"}, 설정 = "myconfigfile") 공용 클래스 MyTestClass { @Test @MyMethodAnnotation (URL = "/ TestApp가/test.myservlet "로드 = 10) 공공 무효 testServletAutoDiscovery() { 는 유효한 응답에 대해 생성 된 부하 테스트에 대한 응답을하는 값들 //} 가}' 내 클래스 주석의 값에 따라 컨테이너를 구성 제공 , 내 메소드 annotation은 전개 된 이슈에 대한로드를 생성했다. 테스트 클래스는 동일한 config fil에 의존하는 여러 테스트 메소드를 포함 할 수있다. e. – jay

0

내가 찾는 해결책이 있습니다. 내가 찾고있는 기능은 ITestRunnerFactory 인터페이스를 구현하여 제공되는 것으로 보입니다.이 인터페이스의 newTestRunner 메서드는 테스트 러너를 반환합니다.