我有一个方法:
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对象?
答案 0 :(得分:2)
您通常应该在需要时使用模拟:
在这种情况下,不清楚为什么要测试此行为,或者您希望结果是什么,或者您认为可能无法获得结果的原因。在大多数情况下,测试经过良好测试的外部库是不正确的。
因此,根据您真正想要测试的内容,您可能需要检查:
但是,在这两种情况下,模拟库与包含真实证书作为夹具数据似乎没有任何实际好处。实际执行代码时,夹具比模拟更好。