Java 生成JUnit测试用例

Java 生成JUnit测试用例,java,junit,Java,Junit,我们的应用程序依赖于另一个系统提供的大量资源 为了确保这些资源的存在,我们目前有一个JUnit测试用例(可能更像是一个集成测试),它将所有资源的列表作为一个文本文件,获取每个资源并跟踪成功/失败 这是一个运行时间很长的测试用例,不是很“工具友好”。我们真正想要的是每种资源有一种测试方法 我知道这不是JUnit的本意。但是有没有一种方法可以动态生成这些测试方法呢 也许是比编写一个perl脚本来生成数百个方法更“优雅”的东西 非常感谢 您可能希望查看并创建自己的实例(而不是让一个junit运行程序只

我们的应用程序依赖于另一个系统提供的大量资源

为了确保这些资源的存在,我们目前有一个JUnit测试用例(可能更像是一个集成测试),它将所有资源的列表作为一个文本文件,获取每个资源并跟踪成功/失败

这是一个运行时间很长的测试用例,不是很“工具友好”。我们真正想要的是每种资源有一种测试方法

我知道这不是JUnit的本意。但是有没有一种方法可以动态生成这些测试方法呢

也许是比编写一个perl脚本来生成数百个方法更“优雅”的东西


非常感谢

您可能希望查看并创建自己的实例(而不是让一个junit运行程序只运行某个目录中的所有测试)和/或子类化它-TestSuite有方法以编程方式向其添加测试,然后您可以运行套件中的所有测试。

您可能希望查看参数化测试。这在JUnit4中更容易实现,但也可以在JUnit3中实现。请参阅此问题以获取代码:

这是一个类的示例,该类使用JUnit4@Parameterized注释动态地为每个资源生成一个测试!完美的解决方案,因为您可以在这个参数化测试中实现FileInputStream,以加载要检查的资源列表。在我看来,这是一个近乎完美的解决方案。在IDEA中,参数化测试不幸地崩溃为单个测试。这意味着我们仍然无法立即看到哪些资源不可用。不过,谢谢你的参数化测试——我不知道它们。