首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Karma流程=>中提交一个表单,您的一些测试完成了整个页面的重新加载。

在Karma流程=>中提交一个表单,您的一些测试完成了整个页面的重新加载。
EN

Stack Overflow用户
提问于 2013-12-13 11:58:46
回答 1查看 1.6K关注 0票数 3

在一个角度指令中,我有这样的代码:

代码语言:javascript
复制
$('[name=' + formName + ']').bind('submit', function () {
   validate();
});

在Karma测试的beforeEach子句中,我有以下代码:

代码语言:javascript
复制
bootstrapInput = $compile('<form novalidate name="aForm">' +
            '<input-field icon="true" for="email">' +
            '<div>' +
            '<input class="form-control" class="email" name="email" id="email" type="email" ng-model="user.email" required />' +
            '</div>' +
            '<input-validation for="email" custom-error="custom error" required="Email is required" email="Email must be in valid format"/>' +
            '</input-field>' +
            '<button type="submit" value="valider" ></button>' +
            '</form>')($rootScope);

在我的单元测试中,我有这样的代码:

代码语言:javascript
复制
it('should launch validation process if form has just been submitted', function(){
            bootstrapInput.submit();  //way of doing?
            expect(bootstrapInput.children().hasClass('has-error')).toBe(true);
});

但我得到了以下错误:

代码语言:javascript
复制
Some of your tests did a full page reload!

问题是:如何在不重新加载页面的情况下,激发提交事件在Karma单元测试中进行处理?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-21 12:45:48

同样的问题,但我做了一个解决办法,通过点击提交按钮。

代码语言:javascript
复制
bootstrapInput.find('input[type="submit"]').click();
expect(bootstrapInput.children().hasClass('has-error')).toBe(true);

希望有人能对此找到解释。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20565968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档