我在 Rails 2.3.16 上使用 Fabrication gem v-2.5.0,但是在运行单元测试用例时出现以下错误:
下面是代码片段:
第一个案例
Fabricate(:some_modal)
Fabrication::MisplacedFabricateError: # from /Users/user_xyz/.rvm/gems/ree-1.8.7- 2011.03@project/gems/fabrication-2.5.0/lib/fabrication.rb:51:in `Fabricate' from (irb):3
第二种情况
Fabricate(:some_other_modal)
SyntaxError: /Users/user_xyz/.rvm/gems/ree-1.8.7-2011.03@project/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