# 测试覆盖率提升行动
阅读第二节的的覆盖率报告
规划需要提高覆盖率的模块
每个模块依次按如下步骤提高测试率:
1. 规划 测试文件 → 测试函数(可用已有的测试文件,亦可新建),测试必须放到包的 tests 目录下,严禁写到 src 里面
1. 测试的文件名和函数名都无需加 test
单元测试写到 tests/ , 集成测试(仅限于测试私有函数)用
```
#[cfg(test)]
mod tests {
use super::*;
}
```
2. 单元测试的文件名称必须体现在做什么测试(不可含义模糊,不要用 coverage.rs 这种泛指名字,可用被测试的文件名作为测试 rs 的名字)
2. 实现测试
1. 思考怎么测试边界条件
2. 更新测试文件,注意,测试文件要避免重复的代码,用列表+循环而不是写重复模式,输出多行文本用 rust 多行字符串(而不是写多个println),变量名要简洁优雅,不写冗长的名字
3. 单个测试要避免运行超 60 秒,我配置了测试的全局 60 秒超时
4. ./test.sh 编译测试文件,如果报错,修复
5. 运行 ./sh/clippy.sh 检查代码风格,修正报警 (要实际修复,禁用 allow 屏蔽报警)
3. 运行 ./sh/cov 可以再次生成覆盖率报,查漏补缺
# 覆盖率报告