【发布时间】:2014-12-17 09:39:24
【问题描述】:
我正在尝试在进行 blackbox 测试后生成 bullseye 覆盖率报告。我们有一个进行黑盒测试的设备,但是没有办法在上面编译库,所以我按照以下步骤生成报告。
但是我得到 0% 的报告。覆盖率文件没有变化,它没有得到更新。
- 用靶心编译所有库
- 使用此靶心库复制并替换设备上的原始库
- 复制 cov 文件,并确保它具有适当的权限(即 chmod 777cov_file.cov)
- /etc/environment中导出路径,同时在/etc/profile.d中创建sh文件并在其中设置路径。
- 运行黑盒测试。
- 将 cov 文件复制到开发机器并生成报告。
【问题讨论】:
-
我已将设备上的所有库替换为第 2 步中用靶心编译的库。并且在第 3 步中也将这个覆盖文件复制到了同一个应用程序上。我不明白为什么会这样不工作?靶心会生成任何日志吗?
-
执行第5步是否会改变cov_file.cov的文件时间(文件最近被更改的时间)?
-
好的。这才是真正的问题。覆盖文件没有被更新。所以我搜索了一下,虽然我在 .bash_profile 中设置 COVFILE 时出现了问题,但是我的测试用例都不会打开终端。所以我在 /etc/environment 中设置了这个变量。我还在 /etc/profile.d 中创建 sh 文件并在其中设置变量。但是它仍然无法正常工作。
-
是否可以在不使用黑盒的情况下调用被测库?只是想看看覆盖率是否是在更本地的环境中衡量的。
-
@TobiMcNamobi。我们有两个自动化。一个更像是直接调用库的白盒。如果我运行它,我就能得到覆盖。为此,我只需从运行代码的同一终端导出 COVFILE 变量。但是,即使在 /etc/environment 和 /etc/profile.d 中设置了相同的变量后,我也看不到任何黑盒测试报告。
标签: bullseye