测试Jasmine中的Rails Route
Testing Rails Route in Jasmine
我有一个导航栏部分视图:
_navbar.html.erb
<nav class="nav-links">
<ul>
<li><%= link_to "Mastermind", root_path, :id => 'logo'%></li>
</ul>
</nav>
当你点击"Mastermind"时,它会重新加载页面:
function reloadPage() {
location.reload();
}
function logoReload() {
$('#logo').click(reloadPage);
}
为什么这个茉莉花测试不起作用?
describe("button click", function() {
var btn;
beforeEach(function() {
btn = $('#logo');
});
it("should reload the page", function() {
spyOn(window, 'reloadPage');
$(btn).click();
expect(window.reloadPage).toHaveBeenCalled();
});
});
我得到的响应是:错误:预期已调用spy reloadPage。
有什么想法吗?
您正在监视window
,但在location
上调用reload
。更改您的示例:
it("should reload the page", function() {
spyOn(location, 'reloadPage');
$(btn).click();
expect(location.reloadPage).toHaveBeenCalled();
});
相关文章:
- 如何从rails中的代码中删除新行( )
- Rails File_field最大堆栈大小
- angularjs+rails应用程序中未显示模板
- Rails/JSON:如何将JSON用于jquery UI自动完成表单
- Rails 3.2 js.erb文件转义js
- Rails-JQueryUIAutcomplete和AJAX不工作,可以't连接到数据库
- Jquery:代码在rails中的页面加载时未执行
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- Rails/Javascript链接到用于切换多个元素的函数
- 在Rails中更新Div,而不更改更新请求后的视图
- Jquery append oly获取循环Rails中的最后一个elemen
- 通过rails中的Ajax在控制器B的每个视图中渲染控制器a的视图
- 使用主干网和rails的静态页面路由
- 将JavaScript变量保存到Rails模型
- Rails:如何向用户预加载消息
- Ajax and Json with Rails
- Ajax调用ERror Cross Origin REquest:在rails中自动完成大学列表
- Rails:如何获取当前用户'使用Heroku时的时区
- 测试Jasmine中的Rails Route
- ruby on rails-预编译时在javascript资产中找不到Route helper方法