Javascript 跳过Node.js中的测试需要模块
模块一:Javascript 跳过Node.js中的测试需要模块,javascript,node.js,tap,Javascript,Node.js,Tap,模块一: const moduleTwo = require('moduleTwo'); //moduleTwo opens Websocket module.exports = { functionToTest: () => 1 } 现在我想测试这个函数-test.js: const tap = require('tap'); const moduleOne = require('moduleOne'); tap.equal(moduleOne.functionToTest(),
const moduleTwo = require('moduleTwo'); //moduleTwo opens Websocket
module.exports = {
functionToTest: () => 1
}
现在我想测试这个函数-test.js:
const tap = require('tap');
const moduleOne = require('moduleOne');
tap.equal(moduleOne.functionToTest(),1);
问题是,在ModuleTo中,运行了一些打开websocket的代码,但测试没有完成
如何防止moduleOne在测试时需要ModuleWO?您可以使用:
或者,您可以向
modulewo
添加一些选项,但需要更改使用它的每个位置。在moduleOne导出中,添加一些选项以决定是否需要modulewo。然后,当您需要moduleOne时,您可以向其传递一些选项
const tap = require('tap');
mock('moduleTwo', {
// export whatever you need, just don't open websockets
});
// now moduleOne will require your mock instead of real moduleTwo
const moduleOne = require('moduleOne');
tap.equal(moduleOne.functionToTest(),1);