Go语言代码测试、分析与实用特性
1. 代码覆盖率文件格式与查看
代码覆盖率文件每行的格式为 name.go:line.column,line.column numberOfStatements count ,最后一个字段是一个标志,用于指示 line.column,line.column 指定的语句是否被覆盖。若最后字段为0,则表示代码未被覆盖。
要在浏览器中查看HTML格式的覆盖率输出,可以运行以下命令:
go tool cover -html=coverage.out
若使用的文件名不是 coverage.out ,需相应修改命令。在生成的输出中,红色线条表示未执行的代码,绿色线条表示已被测试执行的代码。部分代码被标记为未跟踪(灰色),这是因为代码覆盖率工具无法处理这些代码。
2. 查找不可达的Go代码
有时候,错误实现的 if 语句或位置不当的 return 语句会导致代码块无法到达,即这些代码块根本不会被执行。由于这是一种逻辑错误,编译器无法捕获,因此需要找到发现它的方法。
go vet 工具可以帮助我们完成这个任务,它会检查Go源代码并报告可疑的构造。以下是一个示例文件 cannotReach.go ,包含两个存在逻辑错误的函数:
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



