8
如何对需要其他模块的Node.js模块进行单元测试,以及如何模拟全局require函数?
这是一个简单的示例,它说明了我的问题的症结所在: var innerLib = require('./path/to/innerLib'); function underTest() { return innerLib.doComplexStuff(); } module.exports = underTest; 我正在尝试为此代码编写单元测试。如何在innerLib不require完全嘲笑功能的情况下嘲笑对的要求? 因此,这是我试图模拟全局变量,require并发现即使这样做也不起作用: var path = require('path'), vm = require('vm'), fs = require('fs'), indexPath = path.join(__dirname, './underTest'); var globalRequire = require; require = function(name) { console.log('require: ' + name); switch(name) { case 'connect': case indexPath: return globalRequire(name); …
156
javascript
node.js
mocking