有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (5) 个答案

  1. # 1 楼答案

    如果您使用Eclipse,还可以尝试EclEmma,这将显示测试覆盖了哪些源代码行。这有时比运行Cobertura这样的覆盖工具更有用,因为您可以从Eclipse内部运行一个测试,然后立即获得关于覆盖内容的反馈

  2. # 2 楼答案

    如果您使用的是IntelliJ,则有一个名为

    “有报道就跑”

    Run with Coverage

  3. # 3 楼答案

    是的,像coberturaemma这样的覆盖工具

    它们创建reports来显示源代码中的每一行,以及它是否被执行(以及聚合的统计数据)

    当然,它们只能显示代码是否已运行。无法判断单元测试是否包含用于确认结果正确的断言

  4. # 4 楼答案

    你需要一些代码覆盖工具。参见here (http://java-source.net/open-source/code-coverage)了解一些信息

    如果你看第一个,我想它能满足你的需要

    Cobertura是一个免费的Java工具,用于计算测试访问的代码百分比。它可以用来识别Java程序中哪些部分缺少测试覆盖率。它基于jcoverage。Cobertura的特点:

    • 可以从ant或从 命令行
  5. # 5 楼答案

    你的标题和实际问题不同。其他答案中提到的工具可以告诉您,代码的哪个部分未经测试(=根本未执行)。确保“确保代码的所有部分都经过单元测试”是另一回事。覆盖率工具可以告诉您是否所有的行/指令都已执行,但它们不能保证所有内容都经过功能测试(所有数据星座、所有执行路径等)。这需要一些脑力。 在我看来,测试覆盖率经常给人一种错误的安全感。例如,测试微不足道的getter可以大大提高覆盖率,但却毫无用处