使用kcov / shunit2测量已执行shell脚本的代码覆盖率

时间:2014-12-18 21:02:11

标签: bash shell unit-testing testing kcov

是否可以测量已执行的shell脚本而不是源脚本的代码覆盖率?

我有一个带有几个开关选项的shell脚本。我添加了一些测试,我想测量测试套件的覆盖范围。

来源:

The script.

And its tests.

正如您所看到的,tests.sh执行shell脚本而不是在同一个shell中调用其函数。这样我就无法kcov来衡量脚本的覆盖范围。我只能测量文件tests.sh的覆盖范围。

是否有可能以某种方式强制kcov来衡量主要剧本的覆盖范围?

这个命令是我能做到的最好的:

/usr/local/bin/kcov --debug=31 coverage/ test/tests.sh

在结果中,我只看到有关shunit2tests.sh的覆盖率报告,但在调试输出中,我也看到了对misspell_fixer.sh的引用。因此,我怀疑它是否可行。

1 个答案:

答案 0 :(得分:3)

请向kcov问题跟踪器

提交错误报告

https://github.com/SimonKagstrom/kcov

据我所知,它应该支持这个。 (我是Kcov的作者)。