1
나는 아주 간단한 xhr 모의 예제를하고 있으며 리턴 성공을 설정할 수있는 능력이 필요하다. (라이브러리를 사용할 수없는 특정 예제에서도).매번 사용 후 ajaxSetup을 지우는 방법은 무엇입니까?
function fakeHttpRequest(json) {
$.ajaxSetup({
complete: function() {
this.success.call(this, json);
}
});
}
내가 위의 일을하고있어 내가 3 번을 호출하면, 마지막 통합 테스트 내가 반환에 3 가지 번이 사용하고 있음을 (대신 내가 예상대로 1)를 제외하고 잘 작동합니다. 이것을 호출하고이를 지우거나 테스트간에 재설정 할 수 있습니까?
업데이트 여기
경우에만 가짜 아약스 성공 응답에 필요하면 내가
function fakeHttpRequest(json) {
jQuery.ajax = function(opts) {
opts.success(json);
}
}
$ .ajaxSetup()을 설정 또는 해체 (QUnit)에 넣은 후에도 단일 테스트가 실행되고 프로덕션 코드가 $ .getJSON에 직접 도달하면 여러 로그가 표시됩니다. (내 질문에 위에 표시) –
더 나은 방법이 이것을 달성 무엇입니까? 프로덕션 코드에서 $ .getJSON을 수행 할 때 xhr의 성공을 위조 할 필요가 있습니다 (테스트간에 안전하게 재설정 할 수있는 무언가)? –
간단한 AJAX 조롱에 대한 답변을 편집했습니다. – mor