0

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

2 番目のケース

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
4

1 に答える 1

1

製造Ruby 1.9にはより高いバージョンが必要です。そして、与えられたコードスニペットに従って使用されているルビーの現在のバージョンはREE 1.8.7.

Ruby のバージョンをアップグレードすると、動作するようになります!

于 2013-07-22T13:10:55.057 に答える