【问题标题】:0% coverage with bullseye0% 的靶心覆盖率
【发布时间】:2014-12-17 09:39:24
【问题描述】:

我正在尝试在进行 blackbox 测试后生成 bullseye 覆盖率报告。我们有一个进行黑盒测试的设备,但是没有办法在上面编译库,所以我按照以下步骤生成报告。

但是我得到 0% 的报告。覆盖率文件没有变化,它没有得到更新。

  1. 用靶心编译所有库
  2. 使用此靶心库复制并替换设备上的原始库
  3. 复制 cov 文件,并确保它具有适当的权限(即 chmod 777cov_file.cov)
  4. /etc/environment中导出路径,同时在/etc/profile.d中创建sh文件并在其中设置路径。
  5. 运行黑盒测试。
  6. 将 cov 文件复制到开发机器并生成报告。

【问题讨论】:

  • 我已将设备上的所有库替换为第 2 步中用靶心编译的库。并且在第 3 步中也将这个覆盖文件复制到了同一个应用程序上。我不明白为什么会这样不工作?靶心会生成任何日志吗?
  • 执行第5步是否会改变cov_file.cov的文件时间(文件最近被更改的时间)?
  • 好的。这才是真正的问题。覆盖文件没有被更新。所以我搜索了一下,虽然我在 .bash_profile 中设置 COVFILE 时出现了问题,但是我的测试用例都不会打开终端。所以我在 /etc/environment 中设置了这个变量。我还在 /etc/profile.d 中创建 sh 文件并在其中设置变量。但是它仍然无法正常工作。
  • 是否可以在不使用黑盒的情况下调用被测库?只是想看看覆盖率是否是在更本地的环境中衡量的。
  • @TobiMcNamobi。我们有两个自动化。一个更像是直接调用库的白盒。如果我运行它,我就能得到覆盖。为此,我只需从运行代码的同一终端导出 COVFILE 变量。但是,即使在 /etc/environment 和 /etc/profile.d 中设置了相同的变量后,我也看不到任何黑盒测试报告。

标签: bullseye


【解决方案1】:

我通过从一个恶魔文件设置环境变量解决了上述问题。

它不起作用的可能原因是,我在需要 shell 的配置文件中设置环境变量,但是我的自动化没有使用 shell。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-06
    • 1970-01-01
    • 1970-01-01
    • 2017-05-31
    • 1970-01-01
    • 2016-11-11
    • 2012-08-04
    • 2011-04-11
    相关资源
    最近更新 更多