1

这是我的第一篇软文,所以请原谅我的格式和思想组织。在发布此之前,我已经付出了很大的努力来解决我的问题。我的部分问题可能是对 Ubuntu 或 Node.js 中的软件包缺乏了解,所以请指导我。

我正在尝试从 Node.js 应用程序的 QUnit 测试中为 Jenkins 创建一个 XUnit xml 文件。我没有能力运行浏览器甚至无头浏览器,也不明白为什么我需要一个,因为 Node.js 代码不处理浏览器。

我一直在搜索,只成功地使用 qunit-tap 和“证明”来创建 XML 文件。证明需要下载一个 perl 文件的格式化程序。我们试图阻止使用 perl 的东西。

我的系统是一个 Ubuntu 虚拟机。这是一项工作任务,我的老板要求最少数量的包和依赖项。我们的 Node.js 服务器正在接受 Web 套接字请求并使用 php 编写的遗留系统来回传递消息。

当我在控制台中运行测试时,QUnit 的输出似乎是一种漂亮的打印格式,在表格中。把它变成一个带有旗帜的扁平形式真是太棒了!

提前致谢!

4

2 回答 2

0

好吧,对于 NodeJS,您可以使用 Grunt 和 grunt-contrib-qunit,但我会推荐以下方法:

  1. 利用 JUnit Logger ( https://github.com/jquery/qunit-reporter-junit ) 插件获取 JUnit 兼容报告。
  2. 注释掉 PhantomJS Runner https://github.com/jquery/qunit/tree/master/addons/phantomjs中的 console.log 输出,以使 runner产生的非 XML 输出静音
  3. 为 Apache Ant 构建脚本分配任务:
    <target name="qunit" description="使用 PhantomJS 运行 QUnit 测试">
    <echo message="正在执行 QUnit Javascript 单元测试..."/>
      <exec 可执行文件="/usr/local/bin/phantomjs" 输出="./build/qunit/qunit-results.xml">
        <arg value="./vendors/Runner/runner-muted.js" />
        <arg value="test-runner.html" />
      </执行>
    </目标>

Jenkins 应在 ./build/qunit/qunit-results.xml 中查找报告

于 2013-07-09T16:53:34.057 回答
0

同上,上面的答案很好

使用 junit 报告并将其连接到标准 jenkins 单元测试插件 - > http://wiki.jenkins-ci.org/display/JENKINS/xUnit+Plugin

为了在机器上轻松配置自安装的 nodejs,我必须推荐优秀的 -> http://wiki.jenkins-ci.org/display/JENKINS/NodeJS+Plugin

对于 jshint/csslint 报告,我发现https://wiki.jenkins-ci.org/display/JENKINS/Checkstyle+Plugin插件非常好,jshint 和 csslint 都输出到这个

jshint : {
    options : {
        reporter : 'checkstyle',
        reporterOutput : 'reports/jshint.xml',
    },
    src : "..."
},

csslint : {
    strict : {
        options : {
            formatters : [{
                id : 'checkstyle-xml',
                dest : 'reports/csslint.xml'
            }],
            csslintrc: '.csslintrc'
        },
        src : [...],
    },
},
于 2014-02-25T12:40:04.927 回答