5

Sporkを使用する場合、Machinistの設計図をどのようにロードしますか?

宝石:

  • mongoid(2.0.0.rc.6)
  • カピバラ(0.4.1.1)
  • ステーキ(1.1.0)
  • スポーク(0.9.0.rc2)
  • rspec(2.4.0)
  • 機械工(2.0.0.beta2)

すべての検収試験でこのエラーが発生します。

Machinist::NoBlueprintError:
   No master blueprint defined for class School

ブループリントが見つからないため、すべてのテストが失敗します。V2でこれらのエラーのいくつかが発生します(まだマスターブループリントがいくつかありません..)が、別のエラーも発生します:

Professor Create a new professor
 Failure/Error: click_link("Profesores")
 RangeError:
   0x000000821461e4 is recycled object

これのテスト環境でconfig.cache_classes=falseを取得しました。

両方のspec_helperバージョン:

https://gist.github.com/801814

4

1 に答える 1

4

あなたが言及したすべての宝石を使ってウィンドウでテストを実行しようとして、レンガの壁に頭をぶつけていました。誰かが興味を持っている場合に備えて、私は自分のブログに記事を書きました。はい、私はすでに知っています。ウィンドウはボールですが、必要に応じて使用する必要があります。

Ruby192、Rails 3.0.4、RSpec 2.5.0、Cucumber 0.10.0、Spork を使用して、高速で効率的なテスト環境をセットアップします。

ブログ自体はマシニストについて言及していませんが、実際には 2.0.0.beta2 gem を自分で spork と一緒に使用してキュウリのテストを実行しています。

明らかなことを除外するために、application.rb ファイルに次のようなものを含めました:

config.generators do |g|
  g.fixture_replacement :machinist      
end

また、ブループリント ファイルを次の場所に設定しました。

features/support/blueprints.rb for cucumber   
spec/support/blueprints.rb for rspec

そして、あなたが含まれていることを確認してください:

require 'machinist/active_record'

設計図の一番上にあります。

また、起動して実行するときの別のメモについても説明します。Machinist は多くのオブジェクトをキャッシュして実行を高速化しますが、データベースを常にクリアしようとすると、時々つまずくことがあります。問題が発生した場合は、これを config/environments/test.rb ファイルに追加して、Machinists のキャッシュをオフにすることができます。

Machinist.configure do |config|
  config.cache_objects = false
end
于 2011-02-21T22:49:29.927 に答える