Почему программа-шпион Jasmine не думает, что она была вызвана, хотя возвращает значение andReturn?

Я пытаюсь отладить шпион на jQuery.post, который не срабатывает, поэтому для проверки работоспособности я попытался

spyOn(this.viewModel.requests, 'submitRequest').andReturn('fooz');

var ret = this.viewModel.requests.submitRequest();
expect(ret).toEqual('foo');

expect(this.viewModel.requests.submitRequest).toHaveBeenCalled();

Это не удается с

Ожидается, что 'fooz' будет равно 'foo'.

Но когда я меняю 'fooz'на 'foo'в аргументе на andReturn, тест завершается с ошибкой с

Expected spy on submitRequest to были вызваны.

Шпион возвращает стандартное значение, так почему toHaveBeenCalledтерпит неудачу?

8
задан Greg Bacon 19 June 2012 в 21:03
поделиться