我编写了一个简单的validate.js函数,用于验证表单中的文本输入,并在单击“提交”按钮后触发了该函数。我想使用茉莉花来测试它,而茉莉花不是通过函数获取返回值。我不确定该怎么做,但是我的代码如下:
validateTexts.js
function validateText() {
var questionText = document.getElementById("questionText").value.trim();
if (questionText.length < 1) {
return false;
}
return true;
};
ValidateTextSpec.js
describe(
"validateText tests",
function() {
const spaceValue = " ";
const valueOfSearchText = "Sample search text";
beforeEach(function() {
$('<form action="javascript:void(0)" id = "questionSearchForm" > <input type="text" id="questionText" name="searchText" value=""/>' +
'<button type="submit" id="submitButton" onclick="return validateQuestionSearchInput();" ></form>').appendTo('body');
});
it("when value is just space, it should return false", function() {
var spyEvent = spyOnEvent('#submitButton', 'click');
$("#questionText").val(spaceValue);
var r = $("#questionText").val();
var returnedValue = $("#submitButton").click();
expect(returnedValue).toEqual(false);
console.log(returnedValue);
});
});
由于此时的文本值仅是空格,因此不应提交表单,并且onclick的返回值应为false。而不是返回
init [button#submitButton, context: document, selector: "#submitButton"]
有很多细节。我是茉莉花测试的新手,所以不知道如何在输入有效或无效时获取true或false。 预先感谢!