だから私はAjax呼び出しを行う 'getTheValues'というメソッドをテストしたいと思っています。私は値を使ってサーバーレスポンスを嘲笑しましたが、テストを実行すると2つの失敗が発生しますが、なぜ失敗したのか説明はありません。私はここで間違って何をしていますか?最初QUnitテスト:メソッド内のAjax呼び出しの応答をテストする方法は?
test("Test - call Ajax within method.", function() {
var callback = sandbox.spy();
server.respondWith("GET", "/ajaxtest/getmethod",
[200, { "Content-Type": "application/json" },
'[{ "id": 123, "name": "John" }]']);
getTheValues();
server.respond();
ok(callback.calledOnce, "Callback was called once");
ok(callback.calledWith([{ id: 123, name: "John" }]), "Callback with correct values.");
});
function getTheValues(callback) {
// do some stuff including an ajax call:
$.ajax({
type: 'GET',
dataType: 'json',
cache: false,
url: '/ajaxtest/getmethod',
success: function(data) {
} });
}
私たちが助けることができるようになる前に、失敗の内容を知っておく必要があります... qunitはあなたに何を返すのですか?コードを見るだけで、 'success'ハンドラが' sandbox'と呼ばれるものを呼び出していると思います。正直に分かりません。 – jakerella