我正在執行Java JUnit測試。 Child
測試類擴展Parent
測試類,並且孩子自然重用Parent
類setUp()
和tearDown()
方法。在Parent
tearDown()
方法我有一個瀏覽器窗口截圖的方法。如何從父類獲取執行的Java子類名?
我想通過執行類名來命名圖像。但是,我有一個問題,因爲我需要在Parent
tearDown()
獲得執行Child
測試類名稱的知識。
這怎麼辦?
我正在執行Java JUnit測試。 Child
測試類擴展Parent
測試類,並且孩子自然重用Parent
類setUp()
和tearDown()
方法。在Parent
tearDown()
方法我有一個瀏覽器窗口截圖的方法。如何從父類獲取執行的Java子類名?
我想通過執行類名來命名圖像。但是,我有一個問題,因爲我需要在Parent
tearDown()
獲得執行Child
測試類名稱的知識。
這怎麼辦?
@After
public void tearDown() {
String name = getClass().getName();
// use name as filename
}
使用@ClassRule
創建一個新的類,如下
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;
public class TestClassName extends TestWatcher{
private String name = null;
protected void starting(Description d){
name = d.getClassName();
}
public String getName(){
return name;
}
}
,並在您的父母測試用例添加以下行
@ClassRule
public static TestClassName testClassName = new TestClassName();
使用testClassName.getName()
在拆卸方法