0
这里我正在测试电子邮件确认失败。在开发模式下,一切正常。我认为我错过了一些配置。我的电子邮件确认失败的控制器规格
context 'with valid provider data' do
before { session["devise.provider_data"] = { provider: 'twitter', uid: '123456' } }
it "sends email confirmation" do
expect{ post :create, authorization: { email: "[email protected]" } }.to change(ActionMailer::Base.deliveries, :count).by(1)
end
end
和错误
Failure/Error: expect{ post :create, authorization: { email: "[email protected]" } }.to change(ActionMailer::Base.deliveries, :count).by(1)
expected #count to have changed by 1, but was changed by 0
的Coul任何这方面的帮助?
context 'with valid provider data' do
before { session["devise.provider_data"] = { provider: 'twitter', uid: '123456' } }
before(:each) do
ActionMailer::Base.delivery_method = :test
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.deliveries = []
end
after(:each) do
ActionMailer::Base.deliveries.clear
end
it "sends email confirmation" do
expect{ post :create, authorization: { email: "[email protected]" } }.to change(ActionMailer::Base.deliveries, :count).by(1)
end
end
为我工作!我是一个begginer,所以你介意,告诉是否有任何方法将这些东西放到配置中,因为我直接在spec中运行它(对不起,因为我的英文)我更新了问题 –
更新了我的答案 – AbM