gpt4 book ai didi

ruby-on-rails - 如何使用 rspec 和 Ruby 测试父类(super class)方法抛出异常

转载 作者:数据小太阳 更新时间:2023-10-29 08:13:28 24 4
gpt4 key购买 nike

我正在尝试找到编写 rspec 测试的最佳方法,该测试将指定调用邮件(mail_content).deliver并引发异常,这样我就可以断言调用了 Rails.logger。

我知道您不打算模拟被测类,但这是否适用于父类(super class)?

class MyMailer < ActionMailer::Base
default from: 'test@test.com'
default charset: 'UTF-8'
default content_type: 'text/plain'
default subject: 'Test'

def send_email (to, mail_headers_hash, mail_body)
begin
headers mail_headers_hash
mail_content = {to: to, body: mail_body}
mail(mail_content).deliver

rescue ArgumentError, StandardError => e
Rails.logger.error "Failed to email order response - #{e}"
end
end
end
end

最佳答案

使用 RSpec,您可以 stub 引发异常。请参阅以下代码片段:

whatever.should_receive(:do_some_stuff).and_raise(ArgumentError)

关于ruby-on-rails - 如何使用 rspec 和 Ruby 测试父类(super class)方法抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8730575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com