1

Bootstrap ナビゲーション バーとその中の適切なリンクをチェックする単純な rspec を作成しようとしています。ディレクトリにrspecを含めcapybara/rspecて持っているので、セットアップは正しいと思いますが、スペックを実行すると、withinメソッドが未定義であるというエラーが発生します。spec_helper.rbspec/features

require 'spec_helper'

feature "HomePage" do 
  before { visit root_path }

  subject { page }

  describe "the navigation bar" do 
    it { should have_selector('.navbar') }

    within ".navbar" do 
      it { should have_link('Game Contest Server', href: root_path) }
      it { should have_link('Users', href: users_path) }
      it { should have_link('Sign Up', href: signup_path) }
    end
  end
end

これを修正する方法についてのアイデアはありますか?

4

1 に答える 1

4

itRSpec では、カピバラのメソッドはブロック内でのみ使用できます。コードを次のようにリファクタリングするだけです。

describe "the navigation bar" do 
  it { should have_selector('.navbar') }

  it "should have links" do
     within ".navbar" do 
       should have_link('Game Contest Server', href: root_path)
       should have_link('Users', href: users_path)
       should have_link('Sign Up', href: signup_path)
     end
  end
end
于 2013-10-11T05:40:11.787 に答える