如何使用console.log语句在Mocha中测试函数
How in Mocha test function with console.log statement?
比方说,我有一个函数:
function consoleOutput(param) {
var newParam = param * param;
console.log(newParam);
}
我如何在Mocha中测试这个函数是否正常工作(param将乘以2并输出到控制台)。谢谢
Sinon是这些类型测试的一个很好的库。它可以用来"挂钩"现有的函数,并跟踪这些函数是如何被调用的。
例如:
const sinon = require('sinon');
const assert = require('assert');
// the function to test
function consoleOutput(param) {
var newParam = param * param;
console.log(newParam);
}
it('should log the correct value to console', () => {
// "spy" on `console.log()`
let spy = sinon.spy(console, 'log');
// call the function that needs to be tested
consoleOutput(5);
// assert that it was called with the correct value
assert(spy.calledWith(25));
// restore the original function
spy.restore();
});
这样做的好处是,您不需要更改原始功能(在这种情况下,这不是什么大不了的事情,但在较大的项目中可能并不总是可能的)。
相关文章:
- 当我尝试运行mocha测试时,没有定义Worker
- Mocking console.log()/MOCHA测试框架中的任何其他函数
- 用mocha测试异步函数
- Mocha测试框架的test.describe返回值
- 使用节点调试器调试ES6 Mocha测试
- Mocha测试套件因未捕获的异常而暂停
- Javascript Mocha测试-测试函数表达式中的函数表达式
- 编写Karma+Mocha测试,同时使用依赖注入和“完成”
- 用物体构造Mocha测试
- 如何在启动Mocha测试用例之前添加延迟
- 用mocha测试异步瀑布似乎停滞不前
- Mocha测试MongoDB:在多次测试中出现未捕获的TypeError
- 如何在mocha测试中模拟全局变量(define、module、window)
- 将 HTML 报告与 Mocha 测试框架结合使用
- 使用 Mocha 测试 JavaScript - 如何使用 console.log 来调试测试
- 嵌套在 Node 中的循环.js与 Mocha 测试框架一起
- 如何使用 Mocha 测试“正常”(非节点特定)JavaScript 函数
- Mocha测试未访问全局变量
- Mongoose mongodb保存子文档混乱?Mocha测试没有完成()
- Mocha测试在本地通过,但在Travis CI上失败