1
我有此RSpec的文件来运行:导轨5 + FactoryGirl + Rspec的:辅助方法未定义
class FinancialManager::SalaryRecord::SomeRecord < ApplicationRecord
sanitize = ->(s) { ActionController::Base.helpers.sanitize(s) }
validates :level,
presence: true,
inclusion: {
in: sanitize.call("levels")
},
numericality: { only_integer: true }
end
模型文件上面调用levels
方法:
require 'rails_helper'
RSpec.describe FinancialManager::SalaryRecord::SomeRecordsController,
type: :controller,
financial_manager: true,
salary_record: true,
some_record: true do
context "GET #index" do
it "assigns all record in instance variable" do
some_record =
FactoryGirl.create(
:valid_financial_manager_salary_record_some_record
)
get :index
expect(assigns(:financial_manager_salary_record_some_records))
.to eq([some_record])
end
end
end
,其使用该记录模型
这是我在helpers
文件夹中定义的帮助方法。当我运行RSpec的文件,我得到这个错误:
Failure/Error:
FactoryGirl.create(
:valid_financial_manager_salary_record_some_record
)
NoMethodError:
undefined method `levels' for #<FinancialManager::SalaryRecord::SomeRecord:0x000000077f2db0>
问题是,我怎么能运行RSpec的测试时使用的辅助方法?我正确使用助手方法吗?
问候
感谢您发布您的问题的答案,我一直在努力寻找如何从工厂回调调用助手,这工作。 +1。你应该接受你自己的答案^^ – David