我们的应用程序依赖于由另一个系统提供的大量资源。生成JUnit测试用例
为了确保这些资源的存在,我们目前有一个JUnit测试用例(可能更多是一个集成测试),它将所有资源列表作为文本文件,提取每个资源并跟踪成功/失败。
这是一个非常长的运行testCase,它不是很“工具友好”。我们真正想要的是按照每种资源的一种测试方法进行测试。
我知道这不是JUnit的意图。但是有没有办法在运行中生成这些测试方法?
也许比编写perl脚本生成数百种方法更“优雅”一点?
非常感谢!
我们的应用程序依赖于由另一个系统提供的大量资源。生成JUnit测试用例
为了确保这些资源的存在,我们目前有一个JUnit测试用例(可能更多是一个集成测试),它将所有资源列表作为文本文件,提取每个资源并跟踪成功/失败。
这是一个非常长的运行testCase,它不是很“工具友好”。我们真正想要的是按照每种资源的一种测试方法进行测试。
我知道这不是JUnit的意图。但是有没有办法在运行中生成这些测试方法?
也许比编写perl脚本生成数百种方法更“优雅”一点?
非常感谢!
您可能想看看参数化测试。这种情况很容易在JUnit 4中实现,尽管可以在Junit 3.进行查看代码这样的问题:JUnit test with dynamic number of tests
您可能想看看the TestSuite class,并创建自己的实例(而不是让其中一个junit运行器只运行某个目录中的所有测试)和/或继承它 - 子集TestSuite具有编程方法给它添加测试,然后你可以运行套件中的所有测试。
此:http://github.com/adewale/cq-challenge-markup/blob/b99c098f0b31307c92bd09cb6a324ef2e0753a0b/code/acceptance-tests/AcceptanceTest.java是动态地生成使用所述JUnit4 @Parameterized注释每个资源一个测试的类的例子
Jep!完美的解决方案,因为您可以在此参数化测试中实施FileInputStream以加载要检查的资源列表。 – guerda 2009-02-09 20:27:57