@SamanthaB Я рад, что смог помочь, не забудьте проголосовать и / или принять ответ, если он был полезен :-)
кто-нибудь дать мне пример написания контрольного примера для проверки, если функция в событии keyup вызывается в jquery и jasmine. Я новичок в jquery и jasmine, поэтому извините за ошибки. Эта программа отображает количество оставшихся символов, когда пользователь вводит символы в поле ввода. И я застрял с тестовыми примерами, которые я попробовал следующим образом
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;
}
Это один из тестов, пожалуйста, помогите мне здесь, потому что он не вызывает функцию после запуска keyup, как я могу ее протестировать
1. если функцияupdateChars(remainingChar,maxLengthBox,txt)
вызывается и выполняется
2. как проверить правильностьremainingChar
счет возвращается
TestCase начинается здесь:
Код работает нормально, но мне нужна помощь в написании контрольного примера для «проверки, отображается ли правильное количество символов», как при запускеkeyup
функционировать внутреннийupdateChars
функция не вызывается для меня в тестовом случае
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():
});