私のモジュールにはAJAX呼び出しを行う関数があり、成功するとその関数はユーザをリダイレクトします。ジャスミンでその機能をテストしたかったのですが、ページをリロードしないようにすることはできません。私はリロードページ機能をスパイ私のテストではJasmine spyOnが元の関数を呼び出す
function my_func() {
$.ajax({
// parameters
success: function(data) {
// does something
reloadPage(path);
}
});
}
function reloadPage(path) {
console.log('got here');
window.location.href = path;
}
:ここ
は私の機能ですspyOn($, 'ajax').and.callFake(function(options) {
options.success(data);
});
spyOn(my_module, 'reloadPage');
my_module.my_func();
そして、私は私のテストを実行したとき、私はこの取得:
LOG LOG: 'got here'
Firefox 42.0.0 (Linux 0.0.0) ERROR
Some of your tests did a full page reload!
をreloadPageはスパイに置き換えられてはならず、呼び出されてはいけませんか?私はすべての関連するコード部分を含んでいます、それは文字通りちょうどですが、あなたが私にもっと多くの情報を提供する必要があるなら私に教えてください!
でそれを見ることができ、あなたはスパイのセットアップの順序を入れ替える試みたことがありますか? – Dan
はい、同じエラーです。 – Vedran