我已经像这样扩展了FrameworkMethod类:
private class RepeatedFrameworkMethod extends FrameworkMethod {
private int number;
public RepeatedFrameworkMethod(Method method, int i) {
super(method);
this.number = i;
}
@Override
public String getName() {
System.out.println(number);
return String.format("%s[%d]", super.getName(), number);
}
}
迭代方法时,名称保持不变(即数字设置为0)。
for (FrameworkMethod testMethod : testMethods) {
Repeat repeat = testMethod.getAnnotation(Repeat.class);
if (repeat == null) {
children.add(testMethod);
}
else {
for (int i = 0; i < repeat.times(); i++) {
children.add(new RepeatedFrameworkMethod(testMethod.getMethod(), i));
}
}
}
这是我在Eclipse中获得的。
始终为0。 它曾经与Junit 4.11一起使用。
任何想法? 感谢。