Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 盲人测试覆盖率报告的可访问性_Java_Accessibility_Code Coverage - Fatal编程技术网

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

Java 盲人测试覆盖率报告的可访问性,java,accessibility,code-coverage,Java,Accessibility,Code Coverage,我目前正在帮助我的团队成员掌握我们的新项目和我们正在使用的工具。我们使用Java作为主要语言。我同事的一个特点是他是盲人。他主要与Emacs合作,在终端上运行maven目标 在完成实现之后,我发现检查测试覆盖率非常有用。我希望我的同事也能检查保险范围。我有两种方法获取此信息: 使用IntelliJ集成测试覆盖率(它使用EMMA并在每行旁边显示绿色、红色或黄色)。非常方便,因为我可以在运行测试后立即看到此信息,无需进一步交互 这对我的同事不起作用,因为他不能使用IntelliJ,而且可能无论如何

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

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

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

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

  • 使用Cobertura报告。它们使用相同的绿色/红色线条概念。它们适用于宏观信息,如类中的总体覆盖率,但不适用于检查未覆盖的线条。 实际上,他可以深入研究报告的HTML源代码,找出哪个源代码包含class
    nbhitsuncover
    ,但这似乎非常不切实际


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

如何使用GreaseMonkey脚本搜索所有包含NBHITSUNCOVERD类的行,并添加一些列表/表格,其中包含希望报告的信息?

我对Antoine进行了深入研究,因为我在我的项目中也使用了SONAR和Cobertura,我对您的问题很感兴趣。从我看到的情况来看,当您告诉ANT任务生成“html”作为输出时,您得到了所需的所有行信息,但正如您所指出的,它不是一种容易解析的格式(可能会发生更改)

使用SONAR,我告诉Cobertura输出“xml”,这将为我提供一个名为
coverage.xml的文件,其中包含输出。不幸的是,它不包含逐行数据,我无法从Cobertura文档中看到任何包含它的数据

对我来说,名为
cobertura.ser
的文件包含您需要的所有数据是有道理的,但只有HTML报告为您显示它。我相信您的问题的答案可能在于试图从cobertura.ser中提取所需的序列化数据

查看源代码,我可以看到以下类

net.sourceforge.cobertura.reporting.html.HTMLReport
net.sourceforge.cobertura.reporting.xml.XMLReport
我怀疑您可以尝试并做的是,以HTMLReport的副本为基础,尝试编写与XML相同的输出,然后您可以出于自己的目的对其进行解析(或者在XMLReport中使用与HTMLReport相同的方法调用)。我可以在
HTMLReport
中看到字符串
nbHitsUncovered
,所以希望您只需要编写一个类


我在谷歌上搜索过,看不到有人这样做过,但这看起来像是一个有用的增强功能。

我是一个完全失明的开发人员,使用Jaws for Windows screen reader在Windows上工作,因此这不会准确地映射到与您一起工作的开发人员。通过一点编程,看起来cobertura测试结果是最容易处理的。基于以下示例XML报告,不难拼凑出一个快速Perl脚本来检查命中数为0的行。 我发现第24行是唯一一个执行0次并快速查找的行

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

sonar可以显示代码覆盖率,不知道它是否比cobertura报告更容易阅读:@Antoine。我删除了关于使用FitNesse的答案。对不起,我没有回答你关于代码覆盖率的问题。@oers谢谢。我们的项目已经安装了声纳。虽然我从未在本地运行过,但我可以尝试一下。不管怎样,声纳是我想和同事讨论的一个话题。cobertura.ser文件不是人类可读的。你必须运行一个报告来理解它。但是,如果告诉format=“XML”,XML是可用的。请参阅:我没有安装Cobertura,但是我在网上找到的示例XML给出了每行的命中率。如果我找到的XML是有效的,那么命中计数0应该提供您需要的所有信息。@oers。答案中提供的“是”链接解释了“xml”和“html”报告输出的选项。请参阅标题为“cobertura报告任务”的部分。我的同事也在使用Windows上的Jaws浏览web,但使用cobertura的XML输出似乎是最好的解决方案。很棒的东西。工作已经为我们完成了!XSLT可能会帮助您以更易访问的格式显示XML数据。