我创建了自己的注释,此注释会收到class.class
。该类本身正在扩展另一个类。
我正在尝试实现与使用@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
**/
}
答案 0 :(得分:0)
您可以简单地获取@RunWithClass注释的值并使用它,如下所示:
Class<?>[] classesToRun = this.getClass().getAnnotation(RunWithClass.class).value();
如果你澄清你的问题,我可以尝试给出更好的答案。