node.js - 将 Node.js 与 QUnit 集成到 Jenkins

标签 node.js jenkins qunit xunit

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

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

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

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

当我在控制台中运行测试时,QUnit 的输出似乎是一种漂亮的表格打印格式。如果能将其变成带有旗帜的扁平形式,那就太棒了!

提前致谢!

最佳答案

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

  1. 利用 JUnit 记录器 ( https://github.com/jquery/qunit-reporter-junit ) JUnit 插件 兼容的报告。
  2. 注释掉 PhantomJS Runner 中的 console.log 输出 https://github.com/jquery/qunit/tree/master/addons/phantomjs静音运行器产生的非 XML 输出
  3. 为 Apache Ant 构建脚本分配任务:
    <target name="qunit" description="runs QUnit tests using PhantomJS">
    <echo message="Executing QUnit Javascript Unit Tests..."/>
      <exec executable="/usr/local/bin/phantomjs" output="./build/qunit/qunit-results.xml">
        <arg value="./vendors/Runner/runner-muted.js" />
        <arg value="test-runner.html" />
      </exec>
    </target>

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

关于node.js - 将 Node.js 与 QUnit 集成到 Jenkins,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15708039/

相关文章:

node.js - 安装polymer-cli 时出现问题

ios - Jenkins 在使用 Cocoapods 构建 Xcode 项目时返回 "unknown error -1=ffffffffffffffff"

android - 适用于Android项目CI的Openshift Jenkins设置

html - 如何更改 qunit 主题/布局

debugging - 如何安装和设置 Testswarm?

node.js - 无法在 Windows 的 NPM 脚本中使用 mkdir

javascript - 如何将数据从 Promise 推送到数组

java - 将 Jenkins 工作指定为仅运行一个分支?

javascript - QUnit 不运行外部 JavaScript 文件

node.js - nodejs函数提升: why it doesn't work?