2015-07-03 53 views
0

所以这是我厂:FactoryGirl捏造的功能测试不适

FactoryGirl.define do 
    factory :member do  
     email '[email protected]' 
     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添加到我的布局文件,它显示[],工厂女孩不工作!

+0

一直有这个问题连续3天,无法弄清楚这一点! – IvRRimUm

+0

当你在'binding.pry'中时,'member.errors'是什么? –

+0

通过安装databsecleaner解决了这个问题!会员数据现在显示在控制器和视图! – IvRRimUm

回答

1

通过安装databsecleaner解决了这个问题!会员数据现在显示在控制器和视图! -