我正在使用的测试框架具有一种将测试添加到测试套件中的奇怪方法,如下所示:

public TestSuiteAll() {
    super("TestSuiteAll")

    this.addTest(new TestTypeOld("TEST_EXECUTION"));
    this.addTest(new TestTypeOld("TEST_COMPLETION_1"));
    this.addTest(new TestTypeOld("TEST_COMPLETION_2"));

    this.addTest(new TestTypeNew("TEST_NEW"));
}


例如,“ TEST_EXECUTION”是要在TestTypeOld类中调用的函数的名称。

我真的不喜欢这种设计,但我坚持使用它。如何列出TestTypeOld中的所有功能,以便可以添加所有功能?

我看到了一些类似的例子:

TestTypeOld testTypeOld = new TestTypeOld("");
Class testTypeOldClass = testTypeOld.getClass();
Method[] methods = testTypeOldClass.getMethods();


但这似乎很漫长。在不需要创建TestTypeOld实例的情况下,还有另一种方法可以做到这一点。

最佳答案

您应该可以执行以下操作:

Method[] methods = TestTypeOld.class.getMethods();


这是java.util.List的工作示例:

public static void main(String args[]) {
    Method[] methods = List.class.getMethods();
    for(Method method : methods) {
        System.out.println(method.getName());
    }
}

09-27 18:41