Qunitでajaxのユニットテスト

Qunitajaxユニットテストを試してみた。
書いたテストは次のような感じ。

  • 解説
    • urlから取得するjsonデータは、最初にtotal、次にmonth_dataとして1ヶ月の集計を返す配列があるものを使用(家計管理システムで作っていた既存のもの)
    • いったん外に渡すのは、必須なのかわからないけど、ajaxのsuccess時に実行するメソッドのなかではassertは書けなかった。
test("ajax_test", function(){
     
     var url = "(jsonのurl)";

//ajaxからもらうものを宣言 
     data2 = "";
     
     $.ajax({
            url : url,
            type : "GET",
            dataType : "json",
            success : function(data, textStatus, jqXHR){
                 //ここにassertを入れたかったが、テスト実行時のエラーになるので外に渡すだけ。
                 data2 = data;
            }
            });
     //戻ってくるのをしばらく待つ。10や100では、取れたり取れなかったりだったので1000にした。
     stop();
     setTimeout(function(){
     start();
     equal(data.total, data.month_data.length, "jsonの数確認");
                },1000);
     
     });

こんな感じでできそうなことが分かった。