1

我正在执行 Java JUnit 测试。Child测试类扩展Parent了测试类,孩子自然地重用了ParentsetUp()tearDown()方法。在Parent tearDown()方法中,我有一个方法可以截取浏览器窗口的屏幕截图。

我想通过执行类名来命名图像。但是,我有一个问题,因为我需要Parent tearDown()了解正在执行的Child测试类名称。

如何才能做到这一点?

4

2 回答 2

6
@After
public void tearDown() {
  String name = getClass().getName();
  // use name as filename
}
于 2013-04-04T10:55:00.177 回答
0

使用@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()在 tearDown 方法中使用

于 2016-10-12T08:05:04.510 回答