QUnit - 基本测试 - 检查字段值
QUnit - Basic test - check field value
我对QUnit很陌生。选择了一个简单的 JavaScript 函数来针对它编写一个 qunit 测试。这是函数:
function createSelectField(parent, elemid, value, collection) {
var elem1 = document.createElement("select");
elem1.id = elemid;
parent.appendChild(elem1);
$("#" + elemid).addOption(collection, false);
if(value != null) {
elem1.value = value ;
}
var oldvalue = value;
}
它创建一个选择字段,将其附加到父字段,向其添加一些选项(使用 JQuery 插件),并将默认值设置为传入的任何值。我正在尝试为这个函数编写两个测试,一个当值为空时,另一个当值是某个字符串时。假设测试它以检查字段的值。
这是我尝试过的:
module('Test createSelectField');
test('createSelectField() with no default value', function() {
var parent = document.createElement("div");
createSelectField(parent, 'umbi', null, {"key1": "value1", "key2": "value2"});
var elem = $('#umbi');
equal(elem.val(), null, "No default value provided for the drop down");
});
test('createSelectField() with some default value', function() {
var parent = document.createElement("div");
createSelectField(parent, 'bi', 'key1', {"key1": "value1", "key2": "value2"});
var elem = $('#bi');
equal(elem.val(), 'key1', "Default to key1 value");
});
首先,我尝试获取使用 document.getElementById 创建的元素,但不起作用,它返回 null。使用 JQuery 选择器似乎可以让我获得元素,但我看不到值(使用 FireBug 调试)(我什至不确定它是否给了我在函数中创建的元素)。我什至尝试从我的主函数返回元素,但仍然不起作用。我很困惑,也很慌张。我想编写单元测试我的javascript,但这几乎让我想放弃。帮助?!
由于您的元素不是插入页面,而是插入到您创建的div 中,因此 CSS 查询$('#umbi')
无法像在文档内部那样工作。
$('#umbi', parent)
将在父上下文中搜索它,即使元素不是 DOM 的一部分,它也会起作用。
但是对于您的测试,您只插入一个项目,您也可以通过 div.childNodes[0]
访问它。
相关文章:
- JavaScript 检查隐藏字段中的值并将其设置为隐藏字段值
- HTML提交表单,同时包含空字段检查和按钮隐藏
- 如何使用JQuery检查输入(电子邮件)字段是否包含特殊字符
- 为什么我用于检查所需输入字段的jQuery脚本如此缓慢
- 表单级别的Anguarjs指令,访问所有字段并检查验证
- 正在检查HTML表单上的空字段
- j查询检查复选框是否被选中,然后向输入字段添加值
- 在提交时检查正则表达式验证,如果为空,则聚焦所有输入字段
- 要检查的正则表达式数值字段没有 /或具有所有相同的数字
- 隐藏隐藏的输入字段;检查元件”;
- JQuery:如何检查复选框是否被选中并向字段添加属性
- 我的单选按钮没有从foreach循环中获得值,表单验证返回'必填字段'即使已检查
- 检查以上表格字段是否正确填写
- 如何使用javascript检查id字段为空的单选按钮
- 隐藏字段并将其从检查函数中删除
- Ember-自定义计算属性,用于检查是否存在所有依赖字段
- 中继器中asp.net复选框的必填字段检查
- 空字段检查
- Javascript验证允许多个文件上传的字段.检查是否已作出选择
- 如何用确认密码字段检查密码字段