【问题标题】:How to get code coverage for tests run using QF test tool如何获得使用 QF 测试工具运行的测试的代码覆盖率
【发布时间】:2014-11-03 06:55:53
【问题描述】:

我使用 QF 测试工具 (http://www.qfs.de/en/qftest/) 来运行基于 UI 的集成测试。是否有任何工具可以获取 qft 测试套件的代码覆盖率? 注意:我使用 Sonar(jacoco 插件)来获取 Junit 测试的代码覆盖率。 我用谷歌搜索了很多,找不到任何相关文档。因此,任何指向文档或示例的链接都会有所帮助

【问题讨论】:

标签: sonarqube code-coverage qf-test


【解决方案1】:

o是的,这是可能的。我正在将 QF-Test 与 Jenkins CI、Sonar 和 JaCoCo 一起使用。

为了简短起见,在 QF-Test 中转到调用 SUT 的步骤并将 -javaagent: 参数添加到程序中

例如:

-javaagent:/path/to/mvnlib/org.jacoco.agent-0.6.4.201312101107-runtime.jar=destfile=/usr/share/tomcat6/.jenkins/jobs/Integration_Build/workspace/your.program.test/jacoco/jacoco-qf.exec,includes=your.packages.*,output=file

配置 Jenkins(使用 Jacoco 插件)以查找 jacoco-qf.exec 文件。

PS:如果您使用常规的 Junit 测试,您应该通过此 Ant 脚本将 QF-Test 和 Junit 的覆盖率结合起来:

<jacoco:merge destfile="${jacoco.file}">
    <fileset dir="${jacoco.report.dir}" includes="*.exec"/>
</jacoco:merge>

【讨论】:

  • 非常感谢您的回复,在等待了很长时间的答复后,我已经不再关注这个问题了。我对 QF 测试一无所知,但我使用以下命令在命令行中使用批处理模式运行 QF 测试 - su $user -c "/usr/local/qftest/qftest-3.5.7/bin/qftest -batch -J -Xmx2048m -runlog /export/home1/runlogs/+b $user_home/SanityTest.qft"。所以我无法理解如何包含“-javaagent”。注意:我使用 Electric 指挥官进行 CI(所以我正在使用命令行运行 QF 测试执行)
  • @user2323134 必须将“-javagent”命令提供给您的 SUT(=待测系统)。因此,您需要将它包含到您可能通过快速启动管理器创建的 SUT 启动序列中...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-13
  • 1970-01-01
  • 1970-01-01
  • 2017-08-17
  • 1970-01-01
相关资源
最近更新 更多