如何使用茉莉花模拟require('child_process').fork(__dirname + '/worker')



如何模拟const

来源:

 child = require('child_process').fork('/worker'); // using jasmine

有一些用于模拟生成任务的软件包

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

  • https://www.npmjs.com/package/mock-require

您需要为对象提供所需的属性。您没有指定所需的内容,因此很难更具体,但是例如,您可能需要提供模拟的Stdout流或类似的内容,并且可以在测试中准备。

我的

很好的答案
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);

最新更新