簡體   English   中英

使用Rspec 3在Rails 4中測試布局

[英]Test layout in rails 4 with Rspec 3

我在布局中放入了一個引導導航欄,並想測試所有鏈接是否正確。

 require 'rails_helper'

describe "layouts/application.html.erb" do



  it "should have the right links in navbar" do
    render
    expect(page).to have_link('Home', href: "/home/index")
    expect(page).to have_link('Games', href: "/games/index")
    expect(page).to have_link('Programming', href: "/programming/index")
    expect(page).to have_link('Bananenmannfrau', href: "/pages/about")
  end

end

這只會返回錯誤:

layouts/application.html.erb should have the right links in navbar
     Failure/Error: render
     NameError:
       undefined local variable or method `render' for #<RSpec::ExampleGroups::LayoutsApplicationHtmlErb:0x00000005a8f750>
     # ./spec/layouts/application.html.erb_spec.rb:8:in `block (2 levels) in <top (required)>'

這甚至是測試它的正確方法嗎?是的時候,我缺少什么?

您應該使用水豚寶石來測試前端! 水豚

然后,您將可以像這樣使用它:

require 'rails_helper'

describe "layouts/application.html.erb" do

  it "should have the right links in navbar" do
    visit root_path
    within(".nav-bar-selector") do
      expect(page).to have_content('Home')
      expect(page).to have_content('Games')
      expect(page).to have_content('Programming')
      expect(page).to have_content('Bananenmannfrau')
    end
  end
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM