我正在尝试实现一个简单的Jasmine测试,其中Jasmine将测试是否在点击输入按钮时运行某些代码.但我无法理解为什么点击不会触发?我意识到如果我在beforeEach中只有.click()函数,但我不认为它是如何工作的.
眼镜
describe("export citations",function (){
var btn
beforeEach(function(){
btn= $("input#myButton").eq(0);
});
it("should call click function",function() {
btn.trigger("click");
expect($("#content").length).toBeGreaterThan(0);
});
});
夹具
$(function(){
$("input#myButton").click(function(e){
//Run a bunch of code here
}
});
最佳答案
你真的在夹具中的DOM中添加了一个元素吗?你也错过了a);在夹具中关闭点击回调.
这对我有用:
describe("export citations",function () {
var btn;
beforeEach(function() {
btn= $("input#myButton").eq(0);
});
it("should call click function",function() {
btn.click();
expect($("#content").length).toBeGreaterThan(0);
});
});
夹具
(function() {
$("body").html("