テンプレートをロードする関数があり、正しい URL が呼び出されていることを確認したいと考えています。
ajax呼び出しをスパイする以外の情報が見つからないので、.load()
呼び出しも同じだと思います。私はジャスミン2.4.1を使用しています
関数
function templateLoader() {
var templateURL = '/path/to/template.html';
$('#myElement').load(templateURL, function(response, status, xhr) {
if (status === "error") {
common.templateError(templateURL, xhr);
} else {
ns.successFunction();
}
});
}
ジャスミンテスト
var templateURL = '/path/to/template.html';
spyOn($('#myElement'), "load");
templateLoader(); // call the function
expect($('#myElement').load.calls.mostRecent().args[0]["url"]).toEqual(templateURL);
このテストを実行すると、次のエラーが表示されます。
TypeError: 未定義のプロパティ 'mostRecent' を読み取ることができません
これを行う別の方法はありますか?また、成功関数が呼び出されていることを確認したいのですが、URLが正しいことを確認できるまで、それはできません。