问题标签 [nodeunit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 使用带有 nodeunit 的 sinon 模拟
我正在学习将 sinon 与nodeunit一起使用,专门用于模拟。推荐的方法是使用sinon-nodeunit。根据文档,应该可以通过每个测试函数mock
的参数方法使用模拟。test
但是,这似乎不起作用。如果我nodeunit
在包含以下内容的文件上运行 -</p>
——我明白了:
sinon
我已经sinon-nodeunit
通过npm install
.
javascript - 找不到Nodeunit命令?
我在 Windows 7 上运行并使用 cygwin 很好地安装了节点。我正在关注如何在 mcmahon 的 nodeunit 网站上进行操作:http: //caolanmcmahon.com/posts/unit_testing_in_node_js。
我使用 npm 安装 nodeunit,它说它安装得很好,但是当我去调用它时,nodeunit,它说在所有不同的目录中都找不到命令。
我是否必须设置某种路径变量?
http - 如何使用 NodeUnit 和 Express 测试 POST 请求?
我正在用 Node.js 编写一个简单的 REST 服务(只是在试验),试图弄清楚 Node 是否已经足够成熟。我也在使用 NodeUnit 进行单元测试。
现在,NodeUnit 作为测试 GET 请求的测试框架工作得很好,使用 HttpUtils,但是,测试 POST 请求似乎并不明显。
测试 GET 如下所示:
但是如何测试 POST 请求?我可以将'GET'更改为'POST'并尝试向'client'写入一些内容,但是在调用.fetch之前这不起作用,因为还没有连接。而且它在 .fetch 回调函数中也不起作用,因为那时请求已经被执行了。
我查看了 nodeunit 代码,目前似乎不支持发布数据。所以这是我的问题:
- 测试 POST 请求需要什么?
- 我是否应该在单元测试中测试 POST 请求,还是属于集成测试,我应该使用另一种方法?
unit-testing - 有没有办法通过 maven/ant 运行 nodeunit 测试
我在 nodeunit 中为我的 node.js 应用程序创建了一些单元测试。我希望能够通过 maven / ant 运行测试,因为我打算通过 Jenkins 运行它们。有没有人成功做到这一点?
javascript - Nodeunit test.throws 似乎没有发现错误
我正在尝试为我使用 Nodeunit 在 Node.js 中编写的模块创建一个测试套件。该模块是一个基本的音乐播放列表,允许在播放列表中添加和删除曲目。
如您所见,有些地方会根据传入的错误数据引发错误。
所以这是我的测试套件。
在编写测试套件时,我使用 test.throws 作为假设,基本上只是将代码块包装在 try-catch 语句中,并根据错误块检查 catch。显然我错了,因为当我使用 Nodeunit 运行测试时,Node 显示模块抛出的错误消息,而不是测试套件捕获错误。我是否错误地使用了 test.throw 案例?
node.js - 在nodeunit中处理异步的正确方法是什么?
我对整个堆栈来说都是全新的——javascript、node.js、coffeescript、nodeunit。认为我应该一步一步做吗?你可能是对的,但我仍然不会这样做。
这是测试文件:
在内部,它只是 http 库的包装器。我正在使用节点 0.4.11。这实际上不起作用。这里有两个异步调用。如果我在咖啡 REPL 中手动执行此操作,它可以工作——但 nodeunit 比我快得多,所以我遇到了一些事情,聪明地说,我称之为竞争条件。咧嘴笑
这里是'transmit'的实现: Http = require 'http'
在运行测试之前,我需要确保服务器已绑定到端口,并且我需要确保“.transmit”已完成其内部回调以获得响应,然后再进行断言。
什么是干净的方式(或至少是有效的方式)来做到这一点?
node.js - 如何将 node.js 模块“nodeunit”与咖啡脚本文件一起使用
我试图让 nodeunit 模块在一个咖啡脚本项目中工作,但似乎连基本的测试都无法运行。这是我的示例 Coffeescript 需要'nodeunit'
不幸的是,当我运行 '$ nodeunit example.coffee' 时,我得到了错误输出:
example.coffee:4 exports.testSomething = (test) -> ^
module.js:296 抛出错误;^ SyntaxError: Unexpected token > at Module._compile (module.js:397:25) at Object..js (module.js:408:10) at Module.load (module.js:334:31) at Function._load (module.js:293:12) 需要 (module.js:346:19) 在 /usr/local/lib/node/nodeunit/lib/nodeunit.js:75:37 在 /usr/local/lib/node /nodeunit/deps/async.js:508:13 在 /usr/local/lib/node/nodeunit/deps/async.js:118:13 在 /usr/local/lib/node/nodeunit/deps/async.js :134:9 在 /usr/local/lib/node/nodeunit/deps/async.js:507:9
任何人都可以帮助我使用 Node.js 在 Coffeescript 中启动和运行一个简化的测试吗?
提前致谢
node.js - 如何使用节点单元和猫鼬获得异步结果?
如何在 nodeunit 和 mongoose 中获得异步结果?我试过下面的代码,它似乎挂在数据库回调上,从不返回结果或错误。
javascript - 使用 Jasmine 根据参数值存根 JS 回调
我的 node.js 应用程序中有一个 JS 方法,我想对其进行单元测试。它对服务方法进行多次调用,每次都向该服务传递一个回调;回调累积结果。
如何使用 Jasmine 存根服务方法,以便每次调用存根时,它都会使用由参数确定的响应调用回调?
这是(就像)我正在测试的方法:
我想指定当使用 arg1 和 arg2 调用 service_method 时,存根将使用特定响应调用 f 回调,而当使用 other1 和 other2 调用它时,它将使用不同的特定响应调用相同的回调。
我也会考虑一个不同的框架。(我试过 Nodeunit,但没有让它做我想做的事。)
testing - 如何在 Nodeunit 中添加自定义断言
有没有办法向传递给每个测试的 NodeUnittest
对象添加自定义断言?
我想做类似的事情: