Removendo $ .ajax em Jasmine e ligando

Então, você está testando seu Javascript com Jasmine, mas não quer que as chamadas ajax sejam disparadas. Mas você deseja testar a funcionalidade de manipulação da resposta das solicitações ajax. Veja como.

Você pode usar a função spyOn do Jasmine para fazer isso.

spyOn( $, 'ajax' ).andCallFake( function (params) {

params.success({foo: 'bar'});

});

Isso evitará que $ .ajax seja acionado, mas acionará sua função de retorno de chamada de sucesso com o objeto foo: ‘bar’

Ai está. Agora você pode testar seus manipuladores de resposta de sucesso ajax sem precisar de endpoints remotos em seu conjunto de testes.

Você também pode fazer o mesmo para testar o tratamento de erros em seu código

spyOn( $, "ajax" ).andCallFake( function (params) {

params.error({foo: "bar"});

});