【发布时间】:2018-06-05 10:58:33
【问题描述】:
如何使用 Jest 测试 Observables?
我有一个每秒触发一次的 Observable,我想在 jest 超时之前测试第一个事件是否正确触发。
const myObservable = timer(0, 1000); // Example here
it('should fire', () => {
const event = myObservable.subscribe(data => {
expect(data).toBe(0);
});
});
这个测试通过了,但是如果我用toBe('anything')替换它也通过了,所以我想我做错了什么。
我尝试使用 expect.assertions(1),但它似乎只适用于 Promises。
【问题讨论】:
-
对于异步测试,您可以传递可选的
done参数it('should fire', done => {...}),当测试完成时您调用自己subscribe(data => done())。 -
是的,有效。谢谢!
标签: rxjs observable jestjs