【问题标题】:Generating JUnit Testcases生成 JUnit 测试用例
【发布时间】:2009-02-09 16:28:24
【问题描述】:

我们的应用程序依赖于其他系统提供的大量资源。

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

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

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

也许比编写 perl 脚本来生成数百个方法更“优雅”?

非常感谢!

【问题讨论】:

    标签: java junit


    【解决方案1】:

    您可能想查看参数化测试。这在 JUnit 4 中更容易实现,但可以在 JUnit 3 中完成。有关代码,请参阅此问题:JUnit test with dynamic number of tests

    【讨论】:

    • 杰普!完美的解决方案,因为您可以在此参数化测试中实现 FileInputStream 以加载要检查的资源列表。
    • 在我看来,这是一个近乎完美的解决方案。在 IDEA 中,参数化测试很遗憾地崩溃为一个。这意味着我们仍然无法立即看到哪些资源不可用。但是感谢参数化测试 - 我不知道它们。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2011-05-05
        • 1970-01-01
        • 2017-05-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-26
        • 1970-01-01
        • 2013-04-08
        相关资源
        最近更新 更多