作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
例如,我有成千上万的方法:
AA() {
...
}
BB() {
...
}
CC() {
...
}
etc ...
现在我想在每个方法的开头调用方法 printCurrentMethodName()。也就是说,
AA() {
printCurrentMethodName();
...
}
BB() {
printCurrentMethodName();
...
}
CC() {
printCurrentMethodName();
...
}
etc ...
在数千个方法的开头包含 printCurrentMethodName() 非常耗时。
有什么方法可以在每个方法的开头调用 printCurrentMethodName() 而无需在这数千个方法中重复它?
(我不能使用@Before 或@BeforeMethod 之类的注解,因为它会在进入 AA() 之前调用 printCurrentMethodName(),因此它不会按预期打印方法名称)
最佳答案
如果您只想打印测试方法的名称,那么您可以创建一个 JUnit rule这类似于 TestName rule
public class PrintTestName extends TestWatcher {
@Override
protected void starting(Description d) {
System.out.println(d.getMethodName());
}
}
并在你的测试中使用它
public class YourTest {
@Rule
public final PrintTestName printTestName = new PrintTestName();
@Test
public AA() {
...
}
...
关于java - 如何在不重复java中其他方法的情况下调用一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31239200/
我是一名优秀的程序员,十分优秀!