首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用jasmine模拟require('child_process').fork(__dirname + '/worker')

如何使用jasmine模拟require('child_process').fork(__dirname + '/worker')
EN

Stack Overflow用户
提问于 2017-03-06 19:39:14
回答 2查看 1.1K关注 0票数 0

如何模拟const

来源:

代码语言:javascript
复制
 child = require('child_process').fork('/worker'); // using jasmine

有一些用于模拟派生任务的包

EN

回答 2

Stack Overflow用户

发布于 2017-03-06 19:51:06

您可以使用mock-require模拟任何模块,包括child_process。请参见:

您需要提供一个具有所需属性的对象。您没有指定您需要什么,所以很难更具体,但是例如,您可能需要提供一个模拟的stdout流或类似的东西,您可以在测试中进行准备。

票数 1
EN

Stack Overflow用户

发布于 2017-03-07 20:43:58

我的答案很好

代码语言:javascript
复制
var events = require('events');

var eventEmitter = new events.EventEmitter();
var messagehandle = function (message, callback) {

    if (message.action == 'init')
        callback('init complete');
}

eventEmitter.addListener('message', messagehandle);
eventEmitter.send = function (message) {
    eventEmitter.emit('message', message, message.cb);
} 
var mockprocess = {
    fork: function (path) {
        return eventEmitter;
    }
};

mock('child_process', mockprocess);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42624698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档