Ruby on rails Kaminari分页的RSpec测试在应该失败时不会失败

Ruby on rails Kaminari分页的RSpec测试在应该失败时不会失败,ruby-on-rails,ruby,rspec,pagination,Ruby On Rails,Ruby,Rspec,Pagination,我想用RSpec测试Kaminari分页 规范/要求/公司\u规范rb app/models/company.rb 此测试创建51个公司,以便创建第二页的分页。但是,即使我之前评论过:全部行,测试也不会失败 如何编写一个能按预期工作的测试?确保在测试后删除数据库中创建的公司条目。如果不这样做,则数据库中会有来自以前测试的50多个条目 您可以在运行测试后使用gem删除数据库条目。除非预期失败,否则测试不会失败。您唯一的经验是page.status\u代码是200。因此,如果没有记录,会发生什么 你

我想用RSpec测试Kaminari分页

规范/要求/公司\u规范rb app/models/company.rb 此测试创建51个公司,以便创建第二页的分页。但是,即使我之前评论过:全部行,测试也不会失败

如何编写一个能按预期工作的测试?

确保在测试后删除数据库中创建的公司条目。如果不这样做,则数据库中会有来自以前测试的50多个条目


您可以在运行测试后使用gem删除数据库条目。

除非预期失败,否则测试不会失败。您唯一的经验是page.status\u代码是200。因此,如果没有记录,会发生什么

你访问根路径得到一个200 水豚无法找到2链接并单击它 您的测试通过,因为您已成功访问根路径 您是否在测试后从数据库中删除创建的公司条目?如果没有,您将在数据库中有50多个来自以前测试的条目。谢谢!我安装了database_cleaner gem,它现在可以正常工作了!
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
class Company < ActiveRecord::Base
  paginates_per 50
end