Angular和Rxjs:写入单元测试以过滤Subject
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Angular和Rxjs:写入单元测试以过滤Subject相关的知识,希望对你有一定的参考价值。
我在Angular服务中有一个方法如下,但我不知道如何为这个函数编写单元测试。谁能帮我这个 ?谢谢
message$: Subject<Message> = new Subject<Message>()
getMessage<T>(channel: string): Observable<T> {
return this.message$.asObservable()
.filter(m => m.channel === channel)
.map(m => m.data)
}
答案
这是伪代码。实际代码留作练习。
Create an instance of the service
call getMessage('foo')
subscribe to the returned observable
store every event you receive in a variable receivedEvent
emit a message with the channel 'bar' from the subject
check that receivedEvent is still null
emit a message with the channel 'foo' from the subject
check that receivedEvent contains the data of the message you just emitted
以上是关于Angular和Rxjs:写入单元测试以过滤Subject的主要内容,如果未能解决你的问题,请参考以下文章
如何从 rxjs 流中过滤单个值以在 Angular 2 组件中打印
Angular使用总结 --- 搜索场景中使用rxjs的操作符
如何在 Angular 中使用 Jasmine 测试 RxJS switchMap?