FactoryGirl 制作不适用于功能测试
FactoryGirl fabrications does not apply in feature tests
这是我的工厂:
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
~
当我 运行 指定 returns 视图中 nil:NilClass 的未定义方法“电子邮件”时。
当我在视图中放置绑定撬时,运行 Member.all 它 returns 空数组!
这怎么可能?如何强制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 添加到我的布局文件中,它显示 [],FACTORY GIRL 不工作!
通过安装 databsecleaner 解决了问题!会员数据现在显示在控制器和视图中!! –
这是我的工厂:
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
~
当我 运行 指定 returns 视图中 nil:NilClass 的未定义方法“电子邮件”时。
当我在视图中放置绑定撬时,运行 Member.all 它 returns 空数组!
这怎么可能?如何强制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 添加到我的布局文件中,它显示 [],FACTORY GIRL 不工作!
通过安装 databsecleaner 解决了问题!会员数据现在显示在控制器和视图中!! –