우리는 JS 무거운 웹 응용 프로그램에 대해 QUnit JavaScript 테스트를 구현하려고합니다. 우리는 jQuery AJAX 요청과 관련된 메소드를 성공적으로 테스트하는 방법을 찾기 위해 고심하고있다. 우리는 바람직 대신 실제 someURL.php
의 스텁 URL과 함께 fire
방법을 테스트 할 수있는 방법을 찾기 위해 노력하고있다QUnit을 이용한 AJAX 요청 단위 테스트
var X = function() {
this.fire = function() {
$.ajax("someURL.php", {
data: {
userId: "james"
},
dataType: "json",
success: function(data) {
//Do stuff
}
});
};
};
var myX = new X();
myX.fire();
: 예를 들어, 우리는 다음과 같은 생성자 함수 (분명히 이것은 매우 간단한 예입니다)가 있습니다.
현재 유일한 해결책은 생성자 함수에 대한 인수로 URL과 success
콜백을 추가하는 것입니다. 그렇게하면 테스트에서 X
의 새 인스턴스를 만들고 스텁 URL을 전달하고 스텁이 응답을 반환 할 때 실행할 콜백을 생성 할 수 있습니다. 예 :
test("Test AJAX function", function() {
stop();
var myX = new X();
//Call the AJAX function, passing in the stub URL and success callback
myX.fire("stub.php", function(data) {
console.log(data);
start();
});
});
그러나이 방법은 매우 좋은 해결책이 아닙니다. 더 좋은 방법이 있습니까? jQuery로
이것은 훌륭합니다. 고맙습니다 :) –