我正在尝试从MyTestClass获取带注释@Before的方法。包中名为ru.package的类。当我只有1个带@Before的课时,它工作正常。但是如果我使用这个注释在内部包中创建新类和新类,并且会尝试仅从MyTestClass中找到@Before注释,这段代码会给我带有这个注释的所有类的所有方法,但我只需要1.我去哪里了错误?感谢。
Reflections reflections = new Reflections(new ConfigurationBuilder().
setUrls(ClasspathHelper.forClass(MyTestClass.class)).
setScanners(new MethodAnnotationsScanner()));
Set<Method> methods = reflections.getMethodsAnnotatedWith(Before.class);
@Before annotation
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Before {
}
MyTestClass.class
public class MyTestClass {
private List<String> stringList = new ArrayList<>();
@Before
public void setUp() {
stringList = new ArrayList<>();
for (int i = 0; i < 50; i++) {
stringList.add("string " + i);
}
}
//@Test and etc
}