gpt4 book ai didi

node.js - 如何使用 chai 和 mocha 测试子进程?

转载 作者:行者123 更新时间:2023-11-28 20:11:36 25 4
gpt4 key购买 nike

我正在创建一个框架以在特定时间(类似 cron)执行流程并测试它我正在使用 chai-mocha-grunt。

解决方案的架构基于this example .基本上,我们有:

  • 主进程调用子进程(通过 child_process.fork)特定次数。
  • 一个子进程,它使用 setInverval() 执行某些操作;
  • 调用 Master.start() 函数的进程。

对于这种架构,我该如何测试以确保使用 mocha 和 chai(使用“断言”库)在正确的时间执行线程?

换句话说,我如何让 chai ‘监听’线程并检查它们是否在正确的时间执行?

最佳答案

我不确定您是否需要 chai 本身来收听您的线程。如果您正在构建您链接的示例,这应该非常简单,因为 Master.js 已经是一个 EventEmitter 并且它已经发出它从子进程听到的所有事件。

您的测试结构可以像这样简单:

describe('ForkExample test', function() {
// Set an appropriate test timeout here
this.timeout(1000);

it('should do stuff at the right time', function(done) {
var fe = new ForkExample();
fe.start(1);
fe.on('event', function(type, pid, e) {
if (type === 'child message') {
// Check here that the timing was within some expected range
done();
}
});
});
});

关于node.js - 如何使用 chai 和 mocha 测试子进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29807167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com