java有没有一种自动化的方法来确保代码的所有部分都经过单元测试? 1 年,4 月 Questions & Answers 158 我已经为我的类编写了JUnit测试,希望它告诉我,我的代码中是否有任何部分没有经过单元测试。有办法做到这一点吗
# 1 楼答案 如果您使用Eclipse,还可以尝试EclEmma,这将显示测试覆盖了哪些源代码行。这有时比运行Cobertura这样的覆盖工具更有用,因为您可以从Eclipse内部运行一个测试,然后立即获得关于覆盖内容的反馈
# 3 楼答案 是的,像cobertura或emma这样的覆盖工具 它们创建reports来显示源代码中的每一行,以及它是否被执行(以及聚合的统计数据) 当然,它们只能显示代码是否已运行。无法判断单元测试是否包含用于确认结果正确的断言
# 4 楼答案 你需要一些代码覆盖工具。参见here (http://java-source.net/open-source/code-coverage)了解一些信息 如果你看第一个,我想它能满足你的需要 Cobertura是一个免费的Java工具,用于计算测试访问的代码百分比。它可以用来识别Java程序中哪些部分缺少测试覆盖率。它基于jcoverage。Cobertura的特点: 可以从ant或从 命令行
# 5 楼答案 你的标题和实际问题不同。其他答案中提到的工具可以告诉您,代码的哪个部分未经测试(=根本未执行)。确保“确保代码的所有部分都经过单元测试”是另一回事。覆盖率工具可以告诉您是否所有的行/指令都已执行,但它们不能保证所有内容都经过功能测试(所有数据星座、所有执行路径等)。这需要一些脑力。 在我看来,测试覆盖率经常给人一种错误的安全感。例如,测试微不足道的getter可以大大提高覆盖率,但却毫无用处
# 1 楼答案
如果您使用Eclipse,还可以尝试EclEmma,这将显示测试覆盖了哪些源代码行。这有时比运行Cobertura这样的覆盖工具更有用,因为您可以从Eclipse内部运行一个测试,然后立即获得关于覆盖内容的反馈
# 2 楼答案
如果您使用的是IntelliJ,则有一个名为
“有报道就跑”
# 3 楼答案
是的,像cobertura或emma这样的覆盖工具
它们创建reports来显示源代码中的每一行,以及它是否被执行(以及聚合的统计数据)
当然,它们只能显示代码是否已运行。无法判断单元测试是否包含用于确认结果正确的断言
# 4 楼答案
你需要一些代码覆盖工具。参见here (http://java-source.net/open-source/code-coverage)了解一些信息
如果你看第一个,我想它能满足你的需要
Cobertura是一个免费的Java工具,用于计算测试访问的代码百分比。它可以用来识别Java程序中哪些部分缺少测试覆盖率。它基于jcoverage。Cobertura的特点:
# 5 楼答案
你的标题和实际问题不同。其他答案中提到的工具可以告诉您,代码的哪个部分未经测试(=根本未执行)。确保“确保代码的所有部分都经过单元测试”是另一回事。覆盖率工具可以告诉您是否所有的行/指令都已执行,但它们不能保证所有内容都经过功能测试(所有数据星座、所有执行路径等)。这需要一些脑力。 在我看来,测试覆盖率经常给人一种错误的安全感。例如,测试微不足道的getter可以大大提高覆盖率,但却毫无用处