16

実行するとrspec spec/models結果はOKです。

しかし、私がsporkを使用すると、マクロが必要なすべてのテスト ( likeit { should validate_presence_of(:title) }が使用され、次のようなエラーで失敗します:undefined method 'validate_presence_of' for ...

私が使う:

rails (3.0.0)
shoulda (2.11.3)
spork (0.8.4)
rspec-rails (>= 2.0.0.beta.22)

スペック/spec_helper.rb:

「ルビジェム」が必要
「スポーク」が必要

Spork.prefork する
  # このファイルは、「rails generate rspec:install」を実行すると spec/ にコピーされます
  ENV["RAILS_ENV"] ||= 'テスト'
  require File.expand_path("../../config/environment", __FILE__)
  「rspec/rails」が必要
  「すべき」を要求する
...
4

2 に答える 2

16

同じ問題がありました。プリフォークブロックでrequirerequire 'shoulda/integrations/rspec2'してから貼り付けて修正しました。rspec/rails

スポークを最新バージョン ( ) にアップグレードすることもできます。gem 'spork', >= 0.9.0.rc2この修正は 0.8.4 では試していないためです (ただし、これも機能すると確信しています)。

于 2010-10-19T09:42:08.873 に答える
2

を動かしてみる

require "shoulda"

Spork.each_runブロックにライン。どうやら、shoulda は適切な例のグループにマッチャーを含めるためにいくつかの魔法を行います。

于 2010-10-10T21:18:26.267 に答える