これを使ってみましたHow do I test Pony emailing in a Sinatra app, using rspec? 電子メールを送信する Rails 3.1 アプリをテストします。送信は問題なく動作しますが、テストを実行するのに苦労しています。これが私がこれまでに持っているものです...
spec/spec_helper.rb
config.before(:each) do
do_not_send_email
end
.
.
.
def do_not_send_email
Pony.stub!(:deliver) # Hijack to not send email.
end
そして私の users_controller_spec.rb で
it "should send a greeting email" do
post :create, :user => @attr
Pony.should_receive(:mail) do |params|
params[:to].should == "nuser@gmail.com"
params[:body].should include("Congratulations")
end
end
そして私はこれを得る...
失敗:
1) UsersController POST 'create' が成功すると、挨拶メールが送信されます 失敗/エラー: Pony.should_receive(:mail) do |params| (Pony).mail(any args) expected: 1 time received: 0 times # ./spec/controllers/users_controller_spec.rb:121:in `ブロック (4 レベル) in '
Pony にはメールが届かないようですが、実際のメールは送信されていることはわかっています。
何か案は?