2016-05-04 5 views
0

Я хочу, чтобы проверить, если функция encodeURI была вызвана с «моей # Строка»функция spyOn 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

проверенный шпион = jasmine.createSpy ('encodeURI'); и ожидать (spy) .toHaveBeenCalledWith ('my # String'); но не повезло –

ответ

1

Вам необходимо передать свой тестовый объект шпионажу, а затем он может следить за ним.

например.

var sut = new TestOb(); 
... 
var spy = spyOn(sut, 'encodeURI'); 

it('should call encodeURI', function() { 
    sut.someTestMethod(); 
    expect(spy).toHaveBeenCalledWith('my#String'); 
}); 
+0

Я пробовал это, но не повезло ... –

+0

Вы попробовали отладить его в браузере? Что происходит, когда вы входите в свою функцию, идет ли она к вашей собственной реализации или идет к шпиону Жасмина? – kasperoo

Смежные вопросы