Rspec 2 のカスタムマッチャーを宣言したい
と を使用rspec 2.13
してrails 3.2.13
います。
私はこのようなものを書き込もうとしました:
RSpec::Matchers.define :be_present do |expected|
match do
expected !be_empty
end
end
しかし、これを仕様で使用すると機能しません
1) NewsletterMailer.send_newsletter_to_groups from
Failure/Error: its(:from) { should be_present }
ArgumentError:
wrong number of arguments (1 for 0)
仕様コード:
describe NewsletterMailer do
describe '.send_newsletter_to_emails' do
let(:user) { create(:admin) }
let(:user2) { create(:user) }
subject { NewsletterMailer.send_newsletter_to_emails(newsletter.id, "#{user.email}, #{user2.email}") }
its(:to) { should == [user.email, user2.email] }
its(:from) { should be_present }
its(:subject) { should be }
end
編集:
私はこのような論理の逆にしたい:
its(:from) { should_not be_nil }