English 中文(简体)
生成 JUnit 测试用例
原标题:
  • 时间:2009-02-09 16:28:24
  •  标签:

我们的应用程序依赖于许多由另一系统提供的资源。

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

这是一个非常长的运行测试用例,不太“工具友好”。我们真正希望拥有的是每个资源一个测试方法。

我知道这不是JUnit的本意。但是有没有办法动态生成这些测试方法?

或许可以使用稍微“优雅”一点的方法,而不是编写Perl脚本来生成数百个方法?

非常感谢!

最佳回答

你可能需要看一下参数化测试。这在JUnit 4中更容易实现,但在JUnit 3中也可以实现。请参阅以下问题中的代码:动态测试数量的JUnit测试

问题回答

这里是一个示例类:http://github.com/adewale/cq-challenge-markup/blob/b99c098f0b31307c92bd09cb6a324ef2e0753a0b/code/acceptance-tests/AcceptanceTest.java,使用JUnit4的 @Parameterized 注释,动态生成每个资源的一个测试。

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





相关问题
热门标签