我想知道如果单元测试框架(特别是针对Java)不使用任何Reflection工具会产生什么影响。例如,如果junit根本没有使用Reflection来调用测试,那么它对当前支持的使用或功能的影响是什么。是否有任何替代方案可以匹配Reflection API的灵活性?
答案 0 :(得分:0)
反射用于配置目的。因此,运行器将知道运行哪些方法进行测试以及使用哪些方法进行测试的设置和拆卸。您可以将这种配置放在像xml这样的外部文件中,然后从那里读取它。
在知道要运行的方法的名称之后,使用反射来实际分配方法并运行它们。我没有看到你可以用另一种方式做到这一点的方法,除非你实际上写了一种你专门调用每种测试方法的函数。然后在主测试套件函数中调用此函数。或者您可以根据您在配置中指定的信息创建一个为您编写此类函数的预处理器。但你为什么要这样?它只会节省测试运行时检查与一次编译的时间。它没有什么优势。