Tag: jasmine jquery

为什么jQuery代码在我的jasmine测试中没有执行,或者至少没有执行?

我正在使用jasmine-rails gem运行Rails 3.2.8。 以下是我的Gemfile中描述茉莉花设置的行: jasmine (1.2.1) jasmine-core (>= 1.2.0) rack (~> 1.0) rspec (>= 1.3.1) selenium-webdriver (>= 0.1.3) jasmine-core (1.2.0) jasmine-headless-webkit (0.8.4) coffee-script jasmine-core (~> 1.1) multi_json rainbow sprockets (~> 2) jasmine-rails (0.1.0) jasmine jasmine-headless-webkit rails (>= 3.1.0) 我也在使用jasmine-jquery扩展。 这组函数提供了我在测试中使用的toHaveText方法。 我已将jasmine-jquery扩展文件保存到spec / javascripts / helpers目录中。 名为UserInvitationsSpec.js的测试文件直接位于spec / javascripts目录中,其中包含以下内容: describe (“my basic jasmine jquery test”, function(){ […]

茉莉花 – 触发事件不起作用

我正在尝试测试的代码: $(“.toggle_item”).on(“change”, function() { console.log(“change triggered”) item_name = $(this).data(“name”); value = $(this).prop(“checked”); if (Item.isValid(item_name) && cartModule.isUnique(item_name)) { cartModule.toggleItem(item_name, value); } }) 茉莉花规格: describe(“changing toggle item”, function() { beforeEach(function() { console.log(“in spec”) affix(“.toggle_item[data-name=’ladder’]”) spyOn(cartModule, “isUnique”) spyOn(Item, “isValid”) $(“.toggle_item”).trigger(“change”) }) it(“should check item for validity & cart for uniqueness”, function() { expect(Item.isValid).toHaveBeenCalledWith(“ladder”) expect(cartModule.isUnique).toHaveBeenCalledWith(“ladder”) }) }) 控制台日志输出表明触发器未触发。 日志输出: […]

无法获得$ .ajax.mostRecentCall与jasmine 2.0.2一起使用

让一个简单的例子工作真的很麻烦。 我使用的这个例子来自https://gist.github.com/Madhuka/7854709 describe(“Test for spies”, function() { function sendRequest(callbacks, configuration) { $.ajax({ url: configuration.url, dataType: “json”, success: function(data) { callbacks.checkForInformation(data); }, error: function(data) { callbacks.displayErrorMessage(); }, timeout: configuration.remainingCallTime }); } it(“should make an Ajax request to the correct URL”, function() { var configuration = { url : “http://www.google.com”, remainingCallTime : 30000 }; spyOn($, “ajax”); sendRequest(undefined, […]

Jasmine出错 – 预期事件点击已在#DIV_ID上触发

我在这个链接中引用了在Jasmine框架中开发测试工具时触发事件: http://www.htmlgoodies.com/beyond/javascript/js-ref/testing-dom-events-using-jquery-and-jasmine-2.0.htm l 我试图在Jasmine框架中的#DIV_ID上触发click事件后获取新应用的CSS属性。 我试过这段代码: spyEvent = spyOnEvent(‘#DIV_ID’, ‘click’); $(‘#DIV_ID’).trigger( “click” ); expect(‘click’).toHaveBeenTriggeredOn(‘#DIV_ID’); expect(spyEvent).toHaveBeenTriggered(); 但我收到错误: 预期事件点击已在#DIV_ID上触发 任何人帮我解决我的问题。 提前致谢。

jQuery触发器(’click’)不能与Jasmine-jquery一起使用

这是我的测试代码: describe(“Login”, function(){ beforeEach(function(){ loadFixtures(‘login-fixture.html’); }) it(“should enable the button when checking ‘remember password'”, function(){ $(‘#remember’).trigger(‘click’); expect($(‘#keepIn’)).not.toBeDisabled(); }); }); 这是我的生产代码: $(document).ready(function(){ $(‘#remember’).click(function(e) { if($(‘#remember’).is(‘:checked’)) { $(‘#keepIn’).removeAttr(‘disabled’); } }); }); 这不起作用,生产代码永远不会被调用。 我已经在触发事件之前和之后发出警报,并且在触发之后选中了复选框,但是没有调用.click函数。 有关为什么会发生这种情况的任何想法?