我有以下角度测试:
it('should pass', fakeAsync(() => {
let a;
const eventEmitter1 = of('A');
eventEmitter1.subscribe(v => a = v);
let b;
const eventEmitter2 = new EventEmitter();
eventEmitter2.emit('B');
eventEmitter2.subscribe(v => b = v);
tick();
flush();
console.log(a); // Outputs A
console.log(b); // outputs undefined
expect(a).toBe('A');
expect(b).toBe('B'); // How to make the test to pass here?
}));
我无法刷新eventEmitter2
和测试失败。如何EventEmmiter.emit()
在测试中刷新?
注意:这是我的测试的简化版本,它使用内部使用async
的 Angular 管道。EventEmitter
"@angular/core": "^8.2.14"