2017-04-03 4 views
0

私はSQLlite3データベースからレコードのセットを表示するだけです。私はそのデータベースにテーブルを持っており、ルートページにデータベース内のすべてのレコードを表示したい。私はこれが働いているが、今はページにテーブルの最初と最後のレコードがあることを確認するためにカピバラのテストを設定したい。Capybaraテストでのレールモデルの使用

require 'rails_helper' 
describe "seeing record from scotlands model " do 
    specify "I can see a list of all charities" do 
    visit "/" 
    expect(page).to have_content "@table.first_record" 
    end 
end 

ただし、上記のモデルにはリンクがないため、アクセスできません。テストファイルからテーブルへのリンクを取得するにはどうすればよいですか?

答えて

0

通常、テストから実際のデータにアクセスしようとしていますか?私はいつもそれらのことを分かち合うことを学んだ。

私はRspecとCapybaraで作業するのが好きです。ここでは議論してきたものを達成すべきもの、シンプルでまっすぐ進む:

require 'rails_helper' 

feature "user sees all scotlands records" do 

    scenario "successfully" do 

    charity1 = Charity.create(name: name1, info: info1) 
    charity2 = Charity.create(name: name2, info: info2) 
    charity3 = Charity.create(name: name3, info: info3) 

    visit root_path 

    expect(page).to have_content(charity1.name) 
    expect(page).to have_content(charity1.info) 

    expect(page).to have_content(charity2.name) 
    expect(page).to have_content(charity2.info) 

    expect(page).to have_content(charity3.name) 
    expect(page).to have_content(charity3.info) 

    end 

end 

私は実際には通常、FactoryGirlで動作します。この場合は、create_listを使用して1行のコードで多くのレコードを作成できるため、作業が簡単になります。

+0

私は実際のデータを使用しようとしていましたが、正しい方法ではないようです。ファクトリーガールの提案はうまく聞こえる、私はそれを調べるだろう。ありがとうございました。 –

+0

ええ、通常、Railsはテスト環境から実際のDBに触れません。 – vivipoit

関連する問題