【问题标题】:Unit Testing Coverage and testing large components单元测试覆盖和测试大型组件
【发布时间】:2014-04-30 21:02:49
【问题描述】:

我正在尝试针对一个使用许多较小组件的相当大的类。目前我不知道有多少较小的组件经过单元测试。

是否有工具或方法可以显示较大类中使用的所有未经测试的依赖项[加上子依赖项]?

我意识到我可以完成整个项目范围的代码覆盖,并且我可以生成所有测试组件的列表。但是,我该怎么做才能从那个单独的班级的角度来看待这一点?

我为什么要问这个?如果没有子组件对其方法进行测试,则编写此测试用例将是无效的。

我目前正在使用:

  1. JUnit 4.11
  2. Java
  3. JaCCO [兼容艾玛]

【问题讨论】:

    标签: java unit-testing junit tdd


    【解决方案1】:

    @monsky,这是一个有趣的问题。

    Jacoco 让您可以灵活地在覆盖范围中包含或排除一组特定的类。如果您只想查找依赖类的代码覆盖率,您可以做两件事。

    1. 递归地找出需要覆盖的类的所有依赖子模块。使用它,当您调用 Jacoco 时,请提及您想要包含覆盖范围的类的明确列表。您可以使用 Jacoco 的包含元素来执行此操作。

      http://www.eclemma.org/jacoco/trunk/doc/ant.html

    2. 如果您已经准备好要覆盖的文件列表,只需在包含语法中提及它,您就不必生成依赖项的动态列表。但是我会选择 1。

    您也可以使用 intellij IDe 来执行此操作 http://jetbrains.com/idea/webhelp/analyzing-dependencies.html

    【讨论】:

    • 这就是问题的一部分。如果我知道这些文件是依赖项,那么我将能够手动判断哪些文件没有经过单元测试。
    • 您可以编写一个程序来读取文件中的导入语句,然后递归地读取这些文件并生成这些源文件中的文件列表。您始终可以排除不需要检查的标准库类。
    • @Biswaijit ...如果您添加 intellij 这样做jetbrains.com/idea/webhelp/analyzing-dependencies.html 我会接受您的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 2017-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多