我想用RSpec测试Kaminari的分页。
spec/requests/companies_spec.rb
require 'rails_helper'
describe "Companies" do
describe "GET /companies" do
before(:all) { 51.times { FactoryGirl.create(:company) }}
describe "index" do
it "has second page" do
visit root_path
find("//*[@class='pagination']//a[text()='2']").click
expect(page.status_code).to eq(200)
end
end
end
end
app/models/company.rb
class Company < ActiveRecord::Base
paginates_per 50
end
此测试创建了51家公司,以便创建第二页的分页。但即使我注释掉before(:all)
行,测试也不会失败。
我怎样才能编写一个符合我预期效果的测试?
答案 0 :(得分:0)
确保在测试后删除数据库中创建的Company
条目。如果不这样做,那么在以前的测试中,您将在数据库中拥有超过50个条目。
您可以使用database_cleaner
gem运行测试后删除数据库条目。
答案 1 :(得分:0)
除非期望失败,否则测试不会失败。你唯一的期望是page.status_code是200.所以没有记录会发生什么