当前位置: 首页 > 面试题库 >

使用Jenkins xUnit插件显示QTestlib的结果

叶英哲
2023-03-14
问题内容

我正在尝试为我的Qt单元测试项目使用Jenkins xUnit插件,但是我无法使其工作…

这是我到目前为止所做的:

首先,我使用qmakebuilder插件构建我的单元测试项目(向qmakebuilder插件提供.pro),然后添加Execute Shell构建部分,首先rm -f在其中放置testResult
xml文件,然后运行测试带有-xunitxml标志的二进制文件,以使其为我生成xml文件,然后将xml文件命名为testResult.xml

rm -f /home/guest/QT/unitTest/testResult.xml
cd /home/guest/QT/unitTest
./tst_unittesttest -xunitxml > testResult.xml

最后,在Post Build Action中,选择Publish xUnit test result模式并将其指定为*.xml

但是,构建作业将失败,这是我使用Jenkins构建作业时获得的输出:

[xUnit] [INFO] - Starting to record.
[xUnit] [INFO] - Processing QTestlib-Version N/A
[xUnit] [INFO] - [QTestlib-Version N/A] - 1 test report file(s) were found with
the pattern '*.xml' relative to '/home/guest/QT/unitTest' for the testing framework
'QTestlib-Version N/A'.
[xUnit] [ERROR] - The converted file for the result file '/home/guest/QT/unitTest
/testResult.xml' (during conversion process for the metric 'QTestlib') is not
valid.
The report file has been skipped.
[xUnit] [ERROR] - The plugin hasn't been performed correctly: hudson.util.IOException2:
Failed to read /home/guest/QT/unitTest/generatedJUnitFiles/QTestlib/TEST--735044756.xml
Build step 'Publish xUnit test result report' changed build result to FAILURE
Build step 'Publish xUnit test result report' marked build as failure
Finished: FAILURE

如您所见,将我的测试结果xml文件转换为xUnit插件可以读取的问题。我的testResult.xml文件如下所示:

<?xml version="1.0" encoding="UTF-8" ?>
<testsuite errors="2" failures="0" tests="4" name="UnitTestTest">
  <properties>
    <property value="4.7.4" name="QTestVersion"/>
    <property value="4.7.4" name="QtVersion"/>
  </properties>
  <testcase result="pass" name="initTestCase">
    <!-- message="called before everything else" type="qdebug" -->
  </testcase>
  <testcase result="pass" name="myFirstTest"/>
  <testcase result="pass" name="mySecondTest"/>
  <testcase result="pass" name="cleanupTestCase">
    <!-- message="called after myFirstTest and mySecondTest" type="qdebug" -->
  </testcase>
  <system-err>
<![CDATA[called before everything else]]>
<![CDATA[called after myFirstTest and mySecondTest]]>
  </system-err>
</testsuite>

但是TEST--735044756.xml是一个单行的xml文件:<?xml version="1.0" encoding="UTF-8"?>

有人知道我在哪里做错了什么吗?生成输出xml文件应该有问题。

另一方面,我已经在系统日志Jenkins菜单中添加了“ thingi”日志,尽管这似乎并不是该问题的原因……至少是IMO


问题答案:

使用-xmlflag
执行测试二进制文件将正常工作。奇怪的是使用它-xunitxml创建了<testcase>没有time属性的损坏的xml文件。仅运行测试二进制文件会-xml成功构建作业。



 类似资料:
  • 我正在使用Ant构建我的项目并运行testng测试。我使用jenkins调用Ant目标来运行TestNG测试。还安装了TestNG插件在jenkins上运行在我的项目所在的同一台机器上。 在完成Jenkins的工作时,我得到了跟踪和TestNG结果没有生成。

  • Trolltech公司提供的QTestlib框架,是一种针对基于QT编写的程序或库的单元测试工具。QTestLib提供了单元测试框架的基本功能,并提供了针对GUI测试的扩展功能。设计QTestLib的目标是为了简化QT程序或库的单元测试工作。 特性 详细描述 轻量级 QTestlib 只包含 6000行代码和 60个导出符号。 自包含 对于非GUI测 试,QTestlib只需要Qt核心库的几 个符

  • 最近我尝试在Jenkins上配置Checkstyle(使用maven Checkstyle结果)。我的问题是eclipse checkstyle显示了不同数量的checkstyle冲突。对于maven和eclipse,我使用了相同的xml文件和checkstyle规则。 Eclipse Checkstyle Plugin 8.12.0-~500次违规maven-check style-plugin

  • 我有一个测试套件,其中一些XML文件是在运行单元测试(junit)后生成的。还有一些量角器自动化测试使用jasmine junit xml reporter(https://github.com/larrymyers/jasmine-reporters)创建xml文件。在我的jenkins工作中,我使用junit插件(Publish junit test result report)来发布报告。因

  • 我想在我的cordova应用程序中使用谷歌地图插件。我使用以下命令成功创建sha1密钥: keytool-exportcert-alias androiddebugkey-keystore C:\users\morsali.android\debug.keystore-list-v 并且我成功地创建了我的android和IOS密钥。包名称,sha1,...正确导入: 下面是googlemap-pl

  • 问题内容: 我发现AngularJS教程很难理解。这一步引导我逐步构建一个可显示手机的应用程序。我处于第5步,我想作为一个实验,尝试让用户指定他们希望显示多少。该视图如下所示: 我添加了以下行,用户可以在其中输入他们想要显示多少个结果: 这是我的控制器: 重要的一行是: 我可以用硬编码来表示应该显示多少部电话。如果输入,将显示5。我要做的就是从视图中读取该输入中的数字,并将其放在行中。我尝试了带引