アラートを生成するいくつかのレガシージャバスクリプト、またはコードのいくつかの点で確認を行うジャスミンテストをいくつか書いています。ジャスミンでジャバスクリプトのアラートをテストする
アラートがポップアップする瞬間、ブラウザで実行を一時停止してから、続行する前にokを押す必要があります。
私は何か不足していると確信していますが、アラートを偽造する方法はありますか?
警告メッセージの内容を確認することはさらに可能ですか?
ありがとうございました。
アラートを生成するいくつかのレガシージャバスクリプト、またはコードのいくつかの点で確認を行うジャスミンテストをいくつか書いています。ジャスミンでジャバスクリプトのアラートをテストする
アラートがポップアップする瞬間、ブラウザで実行を一時停止してから、続行する前にokを押す必要があります。
私は何か不足していると確信していますが、アラートを偽造する方法はありますか?
警告メッセージの内容を確認することはさらに可能ですか?
ありがとうございました。
驚くほどでスパイを作成して、アラートを含む機能をモックするだけです。ですから、このような何か行うことができます:あなたはまた、サイドノートに何か
oldFunctionWithAlert = jasmine.createSpy("oldFunctionWithAlert() spy").andCallFake(function() {
console.log("Doing some testing");
return "Test";
});
を返すために、これを行うことができます
beforeEach(function() {
functionWithAlert = jasmine.createSpy("functionWithAlert");
functionWithAlert("called as usual");
});
を、私は、可能な場合は、より少ない破壊的な選択肢と警告を置き換えることをお勧め。そこにはJQuery UI dialogのようなたくさんのオプションがあります。
ありがとうこれは最初のコードスニペットを使用しています。 – pixelmatt
var oldalert = alert;
alert = jasmine.createSpy();
// do something
expect(alert).toHaveBeenCalledWith('message')
alert = oldalert
別の方法は、スペックヘルパーでこれを行うことです。
window.alert = function(){return;};
彼は「アラートのメッセージは何だったのか」を知りたがっています。このソリューションは本当に役立つものではありませんが、警告ダイアログを表示しません。 –
spyOn(window, 'alert');
. . .
expect(window.alert).toHaveBeenCalledWith('a message');
これは受け入れられる回答である必要があります –
これは正しい答えです。 – superluminary
確認または却下する権限を持つwindow.confirmはどうですか? – rook
あなたがjolySoftのためにここに受け入れ答えを変更する必要がありhttps://gist.github.com/roine/9621298 –
このリンクを参照してください。 –