首先安装编译好gcov和lcov,具体过程不再描述
编译安装xpdf
cd xpdf-4.04/
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="--coverage -g -O0" ..
make
sudo make install
pdftotext 1.pdf 1.txt
1.清空前面执行命令遗留的.gcda
find . -name "*.gcda" -type f -delete
2.cd到build目录下
lcov --capture --directory . --output-file coverage.info
生成覆盖率信息
3.排除不需要报告的源文件:
lcov --remove coverage.info '/usr/*' '*/test/*' --output-file coverage.info
4.生成HTML格式的覆盖率报告:
genhtml coverage.info --output-directory coverage_report
这个命令使用genhtml工具将覆盖率信息转换成HTML格式,然后将结果保存到coverage_report目录中。
使用脚本一次执行多个测试用例
1.创建一个新文件,例如 "batch_pdftotext.sh",并打开它以进行编辑。
touch batch_pdftotext.sh
nano batch_pdftotext.sh
2.在文本编辑器中输入脚本代码。
#!/bin/bash
for i in {1..10}
do
pdftotext "in/${i}.pdf" "out/${i}.txt"
done
3.
Ctrl+X,然后按 Y 和 Enter 来保存并退出。
4.授予脚本执行权限。运行以下命令来给脚本添加可执行权限:
chmod +x batch_pdftotext.sh
5.建立in,out文件夹
将测试用例放进in文件夹中
6.运行脚本
./batch_pdftotext.sh
find . -name "*.gcda" -type f -delete
bash 3.sh
lcov --capture --directory . --output-file coverage.info
lcov --remove coverage.info '/usr/*' '*/test/*' --output-file coverage.info
genhtml coverage.info --output-directory coverage_report
依次获取每一个pdf文件的覆盖率的脚本