rspec тест не пройден.использование динамических данных - PullRequest
2 голосов
/ 29 февраля 2012

У меня есть тест rspec, написанный для отправляемого электронного письма.он содержит динамическое поле, которое заполняется именем организации в приложении.Я изменил текст с одного имени на другое и обновил файл спецификации, чтобы отразить разницу, но теперь он не пройдет.Вот тест

require "spec_helper"

describe OrgMemberMailer do

context "when an invite email gets sent" do
before(:each) do
  member = Factory(:organization_membership)
  @email = OrgMemberMailer.invite(member, 'samsdungeonsanddragonsguild.com').deliver
end
it "should be delivered successfully" do
  ActionMailer::Base.deliveries.should_not be_empty
  @email.from.should == ["invite@domain.com"]
  @email.subject.should == "SocialNetwork - invitation to join <ORG>"
  @email.encoded.should =~ /You have been invited to join <ORG> on SocialNetwork/
  @email.encoded.should =~ /samsdungeonsanddragonsguild.com\/organization\/accept/
end

end

end

«SocialNetwork» является статическим текстом, но заменяется данными как в файле mailer.rb, так и жестко закодированными в файл rspec.Я только что использовал в качестве заполнителя выше.

Когда я запускаю тест, я получаю:

OrgMemberMailer when an invite email gets sent should be delivered successfully
     Failure/Error: @email.subject.should == "SocialNetwork - invitation to join <ORG>"
       expected: "SocialNetwork - invitation to join <ORG>"
            got: "SocialNetwork - invitation to join <ORG>" (using ==)
 # ./spec/org_member_mailer_spec.rb:13:in `block (3 levels) in <top (required)>'

Для меня все выглядит хорошо.Я не вижу причин, по которым это не должно пройти.

1 Ответ

1 голос
/ 13 марта 2012

попробуй должен eql вместо должен ==

...