【发布时间】:2020-05-14 08:56:01
【问题描述】:
我想断言 EventEmitter 类的发射是使用 Jest 使用特定参数调用的。我有一个单独的文件,在其中创建要使用的 eventEmitter 实例,并在另一个类上导入它,并在某个时候发出事件。
// commonEmitter.ts
const events = require('events');
export const commonEmitter = new events.EventEmitter();
// class.ts
import { commonEmitter } from (..)
export class MyClass {
(...)
method(){
commonEmitter.emit('eventName', { data: true});
}
}
// class.spec.ts
let commonEmitterMock: any
beforeEach(() => {
commonEmitterMock = createMock('emit');
});
it('testMyClass', async () => {
const method = new MyClass().method();
expect(commonEmitterMock).toHaveBeenCalledWith('eventName', { data: true})
}
有了这个实现,发射事件永远不会被调用.. 不知道为什么,有什么想法吗?
【问题讨论】:
标签: node.js typescript events jestjs eventemitter