2013-08-27 4 views
1

현재 실행중인 그룹의 이름을 가져 오는 방법이 있습니까? TestNG : 현재 실행중인 그룹을 얻는 방법

내가 시도 :

@BeforeMethod 
public void beforeMethod(ITestContext context) { 
    groups = context.getCurrentXmlTest().getIncludedGroups(); 
} 

를하지만 나에게 현재 실행중인 메소드가 지원하는 모든 그룹을 제공, 현재의 실행되지 않습니다. 당신이 @Test 방법을 실행하는 것은 속한 첫 번째 그룹의 이름을 알고 싶다면

+0

나는 이것이 가능하다고 생각하지 않습니다. 그들이 가지고있는 클래스를 기반으로 테스트를 실행하거나 단일 메서드 만 실행한다면 그 함수는 무엇을 반환할까요? 적용 할 수 없기 때문에 –

+0

null입니까? 그룹을 실행할 때 어떤 그룹이 현재 실행되고 있는지에 대한 상태가 유지되어야합니다. 맞습니까? – kfox

답변

0

는에 :

@BeforeMethod 
    public void beforeMethod(Method method){ 
     Test testClass = method.getAnnotation(Test.class); 
     System.out.println(testClass.groups()[0]); 
    } 

당신이 모든 그룹을 알고 싶은 경우는 이름을 @Test 방법을 실행하는 것은 속한하기 :

@BeforeMethod 
    public void beforeMethod(Method method){ 
     Test testClass = method.getAnnotation(Test.class); 

     for (int i = 0; i < testClass.groups().length; i++) { 
      System.out.println(testClass.groups()[i]); 
     } 
    } 

희망이 도움이됩니다!

+0

이 질문은 세 살입니다. 더 이상 적용되지 않습니다. 어쨌든 당신은 원래 질문에 대답하지 않았습니다. 모든 그룹이나 첫 번째 그룹이 아니라 현재 실행중인 그룹을 알고 싶었습니다. – kfox

+0

@kfox 나는 당신이 말한 것을 본다. 더 이상 적용 할 수 없지만 해결책을 찾았습니까? 나는 또한 이것을하는 방법을 알고 싶다. – mancocapac

+0

늦은 코멘트에 대해 사과드립니다. 나는 이것을 할 수있는 방법을 찾았을 것이라고 생각하지만, 4 년 전이 회사에서 더 이상 일하지 않으며 소스 코드에 액세스 할 수 없습니다. 귀하의 검색에 행운을 빌어 요! – kfox

관련 문제