1

paper_trail のGithub ドキュメントに従って、Rails 3 で paper_trail v2.6.3 を使用する例を試しています。次のような paper_trail の下でバージョン管理されているかどうかを確認できるモデルの仕様を書きたいと思います。

it { should be_trailed }

be_trailed は、モデルがバージョン管理されているかどうかをチェックするカスタム rspec マッチャーである必要があります。

スペックはどうやって書くの?

PS バージョンを元に戻したくありません。バージョン管理されているかどうかを確認したいだけです。

Michael Hartl のRails Tutorialに従って、demo_app で使用しています。

class User < ActiveRecord::Base
  attr_accessible :email, :name
  has_paper_trail
end 
4

2 に答える 2

2

RSpec マッチャーの書き方についてお尋ねの場合は、ドキュメントはこちらです。

マッチャーが何をすべきかを尋ねている場合は、オブジェクトが paper_trail によって提供されるメソッドに応答するかどうかを確認してみてください。例えば

RSpec::Matchers.define :be_trailed do
  match do |actual|
    actual.respond_to?(:versions)
  end
end
于 2012-11-10T05:21:53.263 に答える