使用qunit.js查询事件回调测试
Query regarding event callback tests with qunit.js
我有一个html视图,其中包含一个类为"overlay"的div和一个类"close-overlay"的关闭按钮。我在JS中为他们注册了这样的事件:
$(".overlay").click(function(e){
var target = $(this); // overlay div
target.removeClass("hide");
return target;
});
$(".close-overlay").click(function(e){
var target = $(e.target) // close-overlay btn
.closest(".overlay"); // overlay div
target.addClass("hide");
return target;
});
我在qunit进行了如下测试:
test("Basic Test", function(){
equal($(".overlay").click().hasClass("hide"), false, "Overlay Click" );
equal($(".close-overlay").click().hasClass("hide"), true, "Overlay Hide" );
});
第一次考试及格了,但第二次考试不及格了。不知道为什么!有人能帮忙吗?谢谢
在第二个断言中,您正在测试.close-overlay
元素是否具有隐藏类,而不是.overlay
元素。
所以你的测试应该是:
test("Basic Test", function(){
equal($(".overlay").click().hasClass("hide"), false, "Overlay Click" );
var closeOverlayElement = $(".close-overlay");
closeOverlayElement.click();
equal(closeOverlayElement.closest(".overlay").hasClass("hide"), true, "Overlay Hide");
});
相关文章:
- 测试Angular Service解决错误回调中的promise
- 当我的单元测试失败时,回调被调用了两次
- 使用jasmine测试JavaScript回调函数
- $watch回调每次在浏览器中触发,但在测试期间只触发一次
- 如何在没有空回调的情况下测试多个调用
- 使用qunit.js查询事件回调测试
- 使用Mocha.js进行Javascript测试:如何模拟Mocha中的回调
- Sinon-带有回调的存根函数-导致测试方法超时
- 调度程序未在开玩笑单元测试中注册回调
- 在 chai 测试中未由请求调用回调
- 省略摩卡回调测试
- 使用 Jasmine 测试异步回调
- 在 Node 中进行回调测试.js生成匿名错误
- AngularJS $scope.$watch Jasmine 测试中未定义的回调函数参数
- jsonp 回调(stripe.js)中延迟承诺的 Karma 单元测试
- Mocha在运行CasperJS测试时不考虑超时或回调
- 使用JsTestDriver和Mockjax测试内联回调函数
- 如何测试异步回调
- 使用Jasmine进行异步回调测试
- 如何用第三方组件和回调测试EmberJS ?