Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何模拟Node.js child_process生成函数?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有一种简单的方法来模拟Node.js child_process spawn函数

我有如下代码,并希望在单元测试中测试它,而不必依赖于实际的工具调用

var output;
var spawn = require('child_process').spawn;
var command = spawn('foo',['get']);

command.stdout.on('data',function (data) {
    output = data;
});

command.stdout.on('end',function () {
    if (output) {
        callBACk(null,truE);
    }
    else {
        callBACk(null,falsE);
    }
});

是否有一个(经过验证和维护的)库允许我模拟spawn调用并让我指定模拟调用输出

我不想依赖工具或操作系统来保持测试简单和孤立.我希望能够运行测试而无需设置复杂的测试夹具,这可能意味着很多工作(包括更改系统配置).

是否有捷径可寻?

解决方法

我找到了 mock-spawn库,它几乎可以满足我的需求.它允许模拟生成调用并将预期结果提供回调用测试.

一个例子:

var mockSpawn = require('mock-spawn');

var mySpawn = mockSpawn();
require('child_process').spawn = mySpawn;

mySpawn.setDefault(mySpawn.simple(1 /* exit code */,'Hello world' /* stdout */));

可以在项目页面上找到更高级的示例.

@H_772_34@

大佬总结

以上是大佬教程为你收集整理的如何模拟Node.js child_process生成函数?全部内容,希望文章能够帮你解决如何模拟Node.js child_process生成函数?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。