0

我创建了自己的注释,并且该注释接收class.class. 该类本身正在扩展另一个类。

我试图实现与 using 几乎相同的效果@RunWith(),但我不想运行该类,而是使用它来获取class.class我的父类中的 ,因此我不需要在@Before注释中发送它。

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Inherited
public @interface RunWithClass {
  /** @return the classes to be run */
  Class<?>[] value();
}

@RunWithClass(UnitTests.class)
public class UnitTests extends TestProxy {

and the method within TestProxy 

private void updateClassReference() {
/**
here I would like to get the class in the above case will be  UnitTests
(so I will be able to create an instance of the class for reflection
**/

}
4

1 回答 1

0

您可以简单地获取 @RunWithClass 注释的值并使用它,如下所示:

Class<?>[] classesToRun = this.getClass().getAnnotation(RunWithClass.class).value();

如果您澄清您的问题,我可以尝试给出更好的答案。

于 2018-06-18T11:33:45.137 回答