铁轨上的红宝石-FactoryGirl的制造不适用于功能测试



所以这是我的工厂:

    FactoryGirl.define do
     factory :member do       
       email 'admin@admin.com'
       password 'rootroot'    
       first_name 'Rinholds'  
       last_name 'Jordan'     
       expiration Time.local(2015, 6, 21, 15, 13, 0)
       start_date Time.local(2015, 4, 21, 15, 13, 0)
       role 2                 
     end
  end

这是我的规格:

   require 'rails_helper'
   describe DashboardController, type: :controller do
     it 'should display chart', js: true do
       member = create(:member)  
       member.save!           
       member.confirm         
       binding.pry            
       visit '/'              
     end
   end 

这是我的root_path((:

     body
       = yield
     = Member.first.email
~            

当我运行spec时,它会为视图中的nil:NilClass返回未定义的方法"email"。

当我将绑定撬放在视图中并运行Member.all时,它将返回空数组!

这怎么可能?如何强制factorygirl创建真实的数据库数据?!?

--编辑--这是控制器,尽管它甚至没有到达那里,因为设计了登录页面authorized_member!

   class DashboardController < ApplicationController
     before_filter :authenticate_member!
     def index
       day_statistics = Statistics::DayStatistics.new(current_member)
       @charts = day_statistics.domain_charts
     end
   end

然后我把Member.all添加到我的布局文件中,它显示[],工厂女孩不工作!

通过安装数据库清理器解决了问题!成员数据现在显示在控制器和视图中!!–

最新更新