我有一个方法:
require 'openssl'
def extract_creds(data)
pfx = OpenSSL::PKCS12.new(data)
{ :certificate => pfx.certificate.to_pem, :key => pfx.key.to_pem }
rescue
# handle error
end
我想为它写一个 rspec 示例。我应该如何正确模拟 pfx 对象?
当您想要执行以下操作时,通常应该使用模拟:
在这种情况下,不清楚您为什么要测试这种行为,或者您期望的结果是什么,或者为什么您认为您可能不会得到它。在大多数情况下,测试一个经过良好测试的外部库并不是正确的做法。
因此,根据您真正想要测试的内容,您可能需要检查:
但是,在这两种情况下,模拟库与包含真实证书作为固定数据相比似乎没有真正的好处。对于实际执行代码来说,fixtures 比 mocks 更好。