gpt4 book ai didi

java - 盲人测试覆盖率报告的可访问性

转载 作者:搜寻专家 更新时间:2023-11-01 01:56:09 25 4
gpt4 key购买 nike

我目前正在帮助我的团队成员掌握我们的新项目和我们正在使用的工具。我们使用 Java 作为主要语言。我同事的一个特点是他是盲人。他主要使用 Emacs,并在终端中运行 Maven 目标。

在我完成实现后,我发现检查我的测试覆盖率非常有用。我希望我的同事也能够检查覆盖范围。我有两种获取此信息的方法:

  • 使用 IntelliJ 集成测试覆盖(它使用 EMMA 并在每行旁边显示绿色、红色或黄色)。非常方便,因为我可以在运行测试后立即看到这些信息,无需进一步交互

    这对我的同事不起作用,因为他不能使用 IntelliJ,而且它可能无论如何都不起作用,因为没有覆盖信息的文本表示

  • 使用 Cobertura 报告。它们使用相同的概念,即绿色/红色线 它们适用于宏信息,例如类中的整体覆盖率,但不适用于检查哪条线未被覆盖。实际上,他可以深入研究报告的 HTML 源代码并找出哪个具有 nbHitsUncovered 类,但这似乎很不切实际。

我真的很想向他展示如何快速获取他的覆盖率数据。有人知道不依赖颜色就能显示覆盖率的工具吗?还是我们必须自己写? (例如,通过转换 HTML 报告)

最佳答案

我是一名完全失明的开发人员,我在 Windows 上使用 Jaws for Windows 屏幕阅读器工作,因此这不会完全映射到与您合作的开发人员。通过一些编程,cobertura 测试结果看起来是最容易处理的。基于以下示例 XML 报告,拼凑一个快速 Perl 脚本来检查命中数为 0 的行应该不难。 https://raw.github.com/jenkinsci/cobertura-plugin/master/src/test/resources/hudson/plugins/cobertura/coverage-with-data.xml通过快速查找,我发现第 24 行是唯一执行了 0 次的行

Hits="0"

虽然我能够找出哪一行没有被执行,但我必须向上滚动很多才能找出该行所在的类和方法。一个快速的 Perl 脚本可以消除向后滚动的需要并提供该行所在的包、类和方法更有效。我使用谷歌浏览器查看了一份 Emma HTML 报告示例,它非常易于访问。我可以分辨出哪些方法经过了全面测试,哪些没有经过全面测试。弄清楚哪些行被执行了,哪些没有执行就更加困难了。我可以看出一个方法没有 100% 执行,然后会在报告中导航到它。然后我不得不使用我的屏幕阅读器提供的击键来宣布每行代码的颜色。我忘记了确切的颜色名称,但我可以分辨出已执行和未执行的行,因为我的屏幕阅读器将它们列为具有不同的颜色。这行得通但速度很慢,因为我必须手动检查方法的每一行;这并没有完全执行,因为我的屏幕阅读器无法自动宣布颜色变化。我不确定您的开发人员如何做同样的事情,因为我不知道他的确切辅助技术设置。

关于java - 盲人测试覆盖率报告的可访问性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8574900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com