0

我想從TestNG註釋@Test(groups="Foo")獲取一個字符串,然後將其用作我動態生成的文件夾的名稱。從@Test註釋獲取字符串TestNG

如何從TestNG註釋中獲得文本"Foo",以便我可以使用它?

回答

1

我認爲一個簡單的解決方案,以閱讀批註的屬性(將涉及反射和朋友)將使用相同的常量字符串:

private static final String FOLDER = "Foo"; 

@Test(groups = FOLDER) 
public void test() { 
    //create the folder named FOLDER 
} 
1

你可以從Method註釋(其您可以從Class.get{,Declared}Methods()方法獲得):

Test test = method.getAnnotation(Test.class); 

這將爲非空如果註釋存在,和零如果事實並非如此。爲什麼不使用@BeforeMethod方法

String groups = test.groups(); 
0

:如果非空,然後你可以只需撥打testgroups()方法?

@BeforeMethod 
public void generateFolderFromGroups(Method m) { 
    Test test = m.getAnnotation(Test.class); 
    String[] groups = test.groups(); 
    // generate folder from groups 
} 

@Test(groups = "Foo") 
public void test() { 
    // the Foo folder will be already created 
}