RSpec を使用して RoR でテスト用のカスタム マッチャーを作成しようとしています。
define :be_accessible do |attributes|
attributes = attributes.is_a?(Array) ? attributes : [attributes]
attributes.each do |attribute|
match do |response|
response.class.accessible_attributes.include?(attribute)
end
description { "#{attribute} should be accessible" }
failure_message_for_should { "#{attribute} should be accessible" }
failure_message_for_should_not { "#{attribute} should not be accessible" }
end
end
テストで次のようなものを記述できるようにしたい:
...
should be_accessible(:name, :surname, :description)
...
しかし、上で定義したマッチャーでは、コンマで区切られたシンボルではなく、シンボルの配列を渡す必要があります。そうしないと、テストは最初のシンボルのみを調べます。
何か案は?