从maven集成测试中查找应用程序代码中的注释方法

时间:2017-07-22 01:37:15

标签: java reflection maven-failsafe-plugin

我的程序中有一个自定义注释,我应用于方法。我想找到具有特定注释的所有方法。从我的应用程序代码中,我可以使用Reflections包来执行此操作:

new Reflections(
    new ConfigurationBuilder().setUrls(
        ClasspathHelper.forPackage("com.my.package")
    ).setScanners(new MethodAnnotationsScanner())
    ).getMethodsAnnotatedWith(MyAnnotation.class);

但是,当我尝试通过failsafe调用的集成测试来查找应用程序中的注释方法(不在测试中)时,没有找到任何方法。如何从集成测试中获取带注释的方法?

1 个答案:

答案 0 :(得分:0)

为了让事情发挥作用,我必须改变两件事:

  1. 我使用的是版本0.9.9-RC1。我不小心首先发现了https://code.google.com/archive/p/reflections/处的Reflections,其中列出了0.9.9-RC1作为最新版本,并没有注意到该小项提到该项目已移至GitHub。我假设0.9.9-RC1是最新版本,但事实并非如此。截至撰写本文时,最新版本为0.9.11。
  2. 我更改了Reflections实例化,如下所示:

    新思考(“com.my.package”,新的MethodAnnotationsScanner());