誰かが、keyupイベント内の 関数がjqueryとjasmineで呼び出されたかどうかを調べるためのテストケースを書く例を教えてください。 jqueryとjasmineにはかなり新しいので、間違いの申し訳ありません。ユーザが入力中の文字を入力するfield.and私は動的文字カウントのジャスミン単位テストケース
fixture.html
を次のように私が試した テストケースで立ち往生してるよう このプログラムは、残りの文字数が表示されます。これは、フィクスチャ
<input id="text" name="text" size="100" maxlength="65"></input>
<span id="count"></span>
script.js
です:これはこれは、テストケースの一つである 文字
$(document).ready(function() {
var txt = $('#text');
var remainingChar = $('#count');
var maxLengthBox = txt.attr('maxLength');
remainingChar.html(maxLengthBox);
txt.keyup(function() {
updateChars(remainingChar, maxLengthBox, txt)
});
});
function updateChars(remainingChar, maxLengthBox, txt) {
var remChar = maxLengthBox - $(txt).val().length;
if (remChar < 0) {
remChar = 0;
}
remainingChar.html(remChar);
return remChar;
}
を残り計算するコードをスクリプトファイルであるMを助けてくださいそれは機能updateChars(remainingChar,maxLengthBox,txt)
が呼び出されて実行なっている場合、私はそれ
1のテストはどうすればよいからkeyupをトリガした後、関数を呼び出していないため、電子ここ
のTestCase返される正しいremainingChar
数を確認する方法
2.ここから始まります:
コードが正常に動作しているが、私はテストケースには、内側updateChars
機能が私のために呼び出されませんkeyup
機能をトリガーにとして「正しい文字カウントが表示されているかどうかをチェックする」の筆記テストケースで助けを必要と
beforeEach(function() {
loadFixtures('Fixture.html');
txt = $('#text');
remainingChar = $('#count');
maxLengthBox = txt.attr('maxLength');
remainingChar.html(maxLengthBox);
});
it("checking remaining characters", function() {
txt.val('hello'); //entering hello into that text field
//triggering keyup and expecting this to call the updateChars function
txt.trigger('keyup');
expect(updateChars).toHaveBeenCalled():
});
に役立ちますが、あなたの最初のコード内の余分な括弧は ''}があると思います。そこに何か不足していますか? – bipen
私はちょうどタイプミスではありません....質問を更新していただきありがとうございます:) ...私はそれを確認するショットを与えました。私はフィクスチャからファイルのための備品を使用しています。 jQuery for ex-> var a1 =( '#title'); 。什器入力テキストフィールドからタイトルIDを取得し、それをjquery構造体で宣言します。 –
'functionwithinkeyup'はどこに定義されていますか? –