0
我使用on Rails的2.3.16製作寶石V-2.5.0,但是當我運行單元測試的情況下得到了以下錯誤:製造:: MisplacedFabricateError而on Rails的使用製作寶石2.3.16
下面是代碼片段:
第一種情況
Fabricate(:some_modal)
Fabrication::MisplacedFabricateError: # from /Users/user_xyz/.rvm/gems/ree-1.8.7- [email protected]/gems/fabrication-2.5.0/lib/fabrication.rb:51:in `Fabricate' from (irb):3
第二種情況
Fabricate(:some_other_modal)
SyntaxError: /Users/user_xyz/.rvm/gems/[email protected]/gems/fabrication-2.5.0/lib/fabrication/generator/active_record.rb:8: syntax error, unexpected ':', expecting ')' ...ttributes, without_protection: true)
有人可以幫我解決這些。
模態類別:
class ErrorCode
attr_accessor :mappings
has_many :error_code_mappings
end
製造商:
Fabricator(:error_code) do
application_id 77
error_code_mappings(:count => 3) { |error_code, i| Fabricate.build(:error_code_mapping, :error_code => Fabricate.build(:error_code, :code => error_code.code + i))}
end
單元測試文件:
require 'test_helper'
class ErrorCodeTest < ActiveSupport::TestCase
context "ErrorCode" do
setup do
@error_code = Fabricate.build(:error_code)
assert(@error_code.valid?)
end
should "have setter for mapping attribute" do
assert_respond_to(@error_code, :mappings=)
end
end