如何使用单个命令运行多个QUnit(node.js)测试文件
How to run several QUnit (node.js) test files using a single command?
场景
我们正在尝试使用Node.js QUnit模块(又名qunitjs(进行服务器端测试,以便我们可以编写一个测试并在服务器和客户端上运行,例如:https://github.com/nelsonic/learn-tdd/blob/master/test.js
当我们使用以下命令运行单个文件时:
node test/my_test.js
它按预期工作。
但是,当我们在/测试目录中有多个测试时,并尝试使用以下命令将所有文件作为套件运行:
node test/*.js
只有第一个文件(按字母顺序(被执行。
请参阅:https://github.com/nelsonic/hapi-socketio-redis-chat-example/tree/master/test
问题
我们如何用单个命令 执行多个测试文件?
我们尝试挖掘现有的StackOverflow+GitHub Q/A,但没有找到任何匹配项。(非常感谢任何建议/帮助!(
QUnit有现成的命令行运行程序,所以只需运行:
npm install -g qunit
qunit
默认情况下,它会自动搜索test
文件夹中的测试并执行所有测试。您也可以手动指定测试脚本qunit test/only_this_test.js test/also_this_test.js
它正在运行,但测试失败了
如果失败与未定义的函数有关,那是因为您需要告诉测试如何找到正在测试的函数。
修改tests.js:
// Add this in the beginning of tests.js
// Use "require" only if run from command line
if (typeof(require) !== 'undefined') {
// It's important to define it with the very same name in order to have both browser and CLI runs working with the same test code
doSomething = require('../index.js').doSomething;
}
修改js脚本:
//This goes to the very bottom of index.js
if (typeof module !== 'undefined' && module.exports) {
exports.doSomething = doSomething;
}
请在此处查看我的其他答案中的更多详细信息https://stackoverflow.com/a/51861149/1657819
附言:回购教程不错!(
- Node.js v6.2.0类扩展不是函数错误
- 如何使用 node.js 比较两个 json 数组
- Node.js's Buffer.writeFloatBE in Javascript
- node.js:setInterval()正在跳过调用
- 如何处理node.js节点mongodb中的连接和查询队列
- Node.js正在更改应用程序以使用集群模块
- 如何使用Node.js最有效地解析网页
- 在openshift node js应用程序中获取请求
- 正在删除node.js中已验证的网站
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 在索引.html和应用.js [node.js] 之间共享变量
- Node.js中的JavaScript原型对象效率
- node.js请求数据事件未在CORS ajax调用中触发
- 使用node.js制作网站
- 使用node.js服务器中的evernote api获取note内容
- 有没有任何方法可以使用node-js从不同的机器打开浏览器
- 使用CI和CodeDeploy对node.js应用程序进行连续部署
- 在Node.js中上传和检索图像
- 什么's本地node.js服务器和python简单http服务器之间的区别
- 如何使用 Node JS 获取 JSON 嵌套数组值