【问题标题】:Testing Rails Route in Jasmine在 Jasmine 中测试 Rails 路线
【发布时间】:2014-04-28 22:29:15
【问题描述】:

我有一个导航栏局部视图:

_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();
  });
});

我得到响应:错误:预期的间谍 reloadPage 已被调用。

有什么想法吗?

【问题讨论】:

    标签: javascript ruby-on-rails routes jasmine


    【解决方案1】:

    您正在监视window,但在location 上致电reload。改变你的例子:

    it("should reload the page", function() {
      spyOn(location, 'reloadPage');
      $(btn).click();
      expect(location.reloadPage).toHaveBeenCalled();
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-18
      • 1970-01-01
      • 2011-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-20
      相关资源
      最近更新 更多