我创建了一个框架,用于在特定时间(类似cron)执行流程并测试它我使用的是chai-mocha-grunt。
解决方案的架构基于this example。基本上,我们有:
使用这种架构,我如何测试以确保使用mocha和chai(使用'断言'库)在正确的时间执行线程?
换句话说,我该怎样让chai'听'到线程并检查它们是否在正确的时间执行?
答案 0 :(得分:1)
我不确定你是否需要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();
}
});
});
});