小编Llo*_*iol的帖子

如何从RXJS 5.5.6模拟fromEvent函数?

我必须测试一个使用fromEvent observable函数的函数.在升级到'lettable'运算符之前,我只是这样做:

spyOn(Observable, 'fromEvent').and.callFake(mockFromEventFunction)
Run Code Online (Sandbox Code Playgroud)

但是现在,Rxjs已经改变了,Observable.fromEvent只是一个名为fromEvent的函数,它是这样导入的:(并以相同的方式使用)

import { fromEvent } from 'rxjs/observable/fromEvent';
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何在不知道它的父上下文的情况下使用Jasmine间谍实用程序来模拟该函数?

我建议这不起作用:

import * as FromEventContext from 'rxjs/observable/fromEvent';
...
spyOn(FromEventContext , 'fromEvent').and.callFake(mockFromEventFunction)
Run Code Online (Sandbox Code Playgroud)

现在我有一个解决方法将fromEvent包装在一个我知道上下文的Object中.但我想知道如何干净利落地解决这个问题.

提前致谢.

unit-testing jasmine rxjs5 angular rxjs6

8
推荐指数
1
解决办法
1521
查看次数

标签 统计

angular ×1

jasmine ×1

rxjs5 ×1

rxjs6 ×1

unit-testing ×1