2011-09-05 65 views
6

在我的日常工作中,我打算为我更改的代码编写测试。IntelliJ显示未被单元测试覆盖的更改行

我的工作流程通常是这样的:

  • 查找代码改变
  • 写失败的测试
  • 更改密码
  • 观看检验合格

而在此之前提交,我运行所有测试。

但实际上,我可以在不知不觉中改变我们的测试覆盖范围。

我现在所做的通常是查看CI服务器是否会显示增加的测试覆盖率。但是这是一个人工任务,在我提交之后我必须做,而且它也可能被其他人提交代码所混淆。

IntelliJ如何帮助我?我无法直接找到比较测试覆盖率的方法。如何确保我的更改能够提高测试覆盖率?

您目前如何处理代码覆盖的这方面?

回答

12

IntelliJ IDEA包含自6.0版(旗舰版)以来的code coverage支持。

通过运行 - >编辑配置 - >代码覆盖您可以配置您想要的代码覆盖范围,然后您可以发出“运行覆盖测试”命令。您将在项目视图中获得一些代码覆盖率数据。当您打开一个源文件时,您还可以看到完全覆盖,部分覆盖或完全覆盖的线路。

您可能要自定义颜色&字体通过文件 - >设置 - >编辑 - >颜色&字体 - >常规修改以下条目:

  • 全线覆盖
  • 部分线路覆盖
  • 揭秘线

例如,我想更多的evidency增加覆盖范围,所以我配置了一个不同这些线的背景。

一旦你有一些红线(未覆盖),你可以尝试覆盖他们,如果你看到他们变绿,这意味着你做得很好,等等!

+1

感谢您的回答。我知道IntelliJ可以显示覆盖范围,但事情是:我如何比较以前运行的测试覆盖率**? 换句话说,我想看看我的项目中增加覆盖率的增量。例如,我想知道一个套餐的覆盖率是40%,比例是38%。 您的建议就像我今天使用IntelliJ:它向我展示了被遮盖的线条,手动查看我添加测试后是否覆盖了我的代码的某个部分。这本身很强大,但我想要更多:) –

+1

我明白了,谢谢您的反馈。那么,我通常会看到一些红线变成绿色,因此我知道它们已经覆盖了:) – javanna