触发功能输入 - 茉莉花测试
Fire function onInput - Jasmine test
我有以下Jasmine测试,它试图触发一个函数onInput
但它根本没有触发它。
问题
使用夹具,我可以像在标准 html 中那样使用并期望它在包含的脚本中找到函数吗?
这就是我正在尝试的:
// check an input cannot accept more than x characters
describe("when the page is loaded", function(){
var fixture;
beforeEach(function () {
fixture += "<input id='textInput' onInput='limitLength2(this,2)'>";
setFixtures(fixture);
});
it("an input should only allow x number of characters", function(){
$('#textInput').trigger("focus").val($('#textInput').val() + '1');
$('#textInput').trigger("focus").val($('#textInput').val() + '1');
$('#textInput').trigger("focus").val($('#textInput').val() + '1');
expect($('#textInput').val().length).toEqual(2);
});
afterEach(function () {
fixture = "";
fixture = null;
});
})
测试失败,就像Expected 3 to equal 2.
我还在limitLength2()
中添加了一个console.log()
,可以确认,这没有被触发。
可以这样做吗?
如果使用 jQuery 更改值,则事件 'onchange' 不会触发,也不会触发 'oninput。
您需要在.val(.... + 1)
后.trigger('input')
,然后它应该按预期工作:-)
相关文章:
- 使用茉莉花测试木偶视图和车把模板
- 使用茉莉花测试主干关系模型
- 茉莉花测试显示模块未定义
- 无法在茉莉花测试中调用$scope.form.$submitted:未定义
- 运行茉莉花测试时,我怎么知道我是否在描述块中,之前每个块或它块
- 期望使用量角器和茉莉花测试 URL #fragment
- 茉莉花测试$log装饰器
- .done 或 .then 中的茉莉花测试方法
- 无法让茉莉花测试成功调用注入的服务
- 茉莉花测试敲除可观察数组
- 骨干,木偶,咕噜咕噜,茉莉花测试
- 为什么这个茉莉花测试在 Firefox 中偶尔会失败
- 用茉莉花测试一个角度的承诺
- 如何防止角拦截器在茉莉花测试期间拾取$httpBackend响应
- 渲染流星模板时执行的茉莉花测试方法
- 用茉莉花测试测试ng变化
- 使用间谍进行茉莉花测试,$httpBackend不起作用
- 角度茉莉花测试未找到模块
- 如何使用茉莉花测试(行为驱动开发)对此进行测试
- 茉莉花测试一个承诺,然后功能