我必须测试一个使用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中.但我想知道如何干净利落地解决这个问题.
提前致谢.