【发布时间】:2012-10-31 02:42:25
【问题描述】:
以下代码可以在浏览器中运行,但是如何使用 Jasmine 对其进行测试?单击#opener 后,应该会显示一个 jQuery 对话框并进行 ajax 调用以加载内容:
$ ->
$( "#dialog" ).dialog({ autoOpen: false });
$( "#opener" ).click ->
$( "#dialog" ).dialog( "open" );
$( "#dialog" ).load('/content');
spec.js.coffee:
describe "Open Dialog Box", ->
it "gets content from server", ->
spyOn($, "ajax")
$('#opener').click()
expect($.ajax.mostRecentCall.args[0]["url"]).toEqual("/content")
查看:
<div>
<a id="opener" href="#">See Content</a>
</div>
<div id="dialog" title="Content"></div>
它没有得到点击事件,所以看起来视图没有被加载。如何加载视图进行测试?
在 Rails 3.2.2 和 Jasminerice 中工作。
【问题讨论】:
-
考虑过使用
rails s并使用phantomjs.org?
标签: jquery ruby-on-rails coffeescript jasmine jasmine-jquery