我想测试是否已使用'my#String'
调用encodeURI函数let encoded: string = encodeURI( 'my#String' );
在测试中,我需要做的只是间谍encodeURI函数并检查它是否已被字符串调用,任何想法?
it('should call encodeURI', function(){
//1.Spy encodeURI here
//2.Execute the function here
expect( encodeURI ).toHaveBeenCalledWith('my#String');
});
答案 0 :(得分:1)
你需要将你的测试对象传递给间谍,然后才能监视它。
e.g。
var sut = new TestOb();
...
var spy = spyOn(sut, 'encodeURI');
it('should call encodeURI', function() {
sut.someTestMethod();
expect(spy).toHaveBeenCalledWith('my#String');
});
答案 1 :(得分:0)
你可以使用
it('should call encodeURI', () => {
spyOn(window, 'encodeURI').and.callThrough();
expect(window.encodeURI).toHaveBeenCalledTimes(1);
});