从Java中的源代码上下文获取JUnit测试类的列表

时间:2016-03-03 12:52:31

标签: java reflection junit

为了生成一些测试文档,我想获得项目中的JUnit测试类列表。假设我们有以下项目结构。

project/
  src/
    Main.java
  test/
    XTest.java
    YTest.java

Main.java文件应该能够读取所有测试类(即XTest和YTest),以便提取所有测试方法。 像Package.getPackage()这样的常见嫌疑人似乎不适用于测试类,但只适用于实际的源代码。

我该如何实现?

1 个答案:

答案 0 :(得分:0)

您为Main访问类XTest和YTest,这些类在执行时需要在其类路径上。

假设以下后期编译目录结构:

project/
  src/
    Main.java
  test/
    XTest.java
    YTest.java
  target/
    classes/
      Main.class
    test-classes/
      XTest.class
      YTest.class

main的{​​{1}}方法可以像这样执行

Main

此时它可以反射访问测试类

然而,将main转换为/ test并明确告诉您的测试执行者将其作为其测试执行的一部分运行可能更容易