【发布时间】:2014-02-01 05:47:47
【问题描述】:
我是第一次使用 Draper,它工作得很好……除了它打破了我的大部分规格。一个例子:
我正在设置一个 account_settings_controller_spec.rb
describe '#create' do
before do
@user = create :user
end
end
这之前工作得很好(我有 config.include FactoryGirl::Syntax::Methods 设置为这样调用工厂)
但是现在当我调用create :user 时,我得到了undefined method 'full_name' for class 'User',这是我从我的用户模型转移到我的用户装饰器的一种方法。
这很奇怪,因为工厂和规范都使用full_name 方法。
我尝试了多种方法:
-
ApplicationController.new.set_current_view_context在 before 块中(这会导致错误) -
require 'draper/test/rspec_integration'到我的 spec_helper.rb(什么都不做) - 将
before/after(:create) { |instance| instance.decorate }添加到我的工厂(也无济于事)
我不确定我在这里遗漏了什么,甚至不知道为什么会抛出错误。当 RSpec 启动时,也许我的装饰器没有被包括在内?
【问题讨论】:
标签: ruby-on-rails rspec ruby-on-rails-4 factory-bot draper