Rspec 如何在spec中模拟函数结果。
我有一个从s3获取文件的方法Rspec 如何在spec中模拟函数结果。,rspec,Rspec,我有一个从s3获取文件的方法 def self.fetch_file(file_name) s3 = Aws::S3::Client.new s3.get_object(bucket:'myBucket', key: file_name) end 然后我有一个调用fetch_file方法的方法 def self.import_file(file_name) response = fetch_file(file_name) .. do some staff 我想测试im
def self.fetch_file(file_name)
s3 = Aws::S3::Client.new
s3.get_object(bucket:'myBucket', key: file_name)
end
然后我有一个调用fetch_file方法的方法
def self.import_file(file_name)
response = fetch_file(file_name)
.. do some staff
我想测试import_file方法,
如何模拟fetch_文件的结果?您可以使用allow…to receive。。。和返回语法。本例中的示例
allow(ClassName).to receive(:fetch_file).and_return("filename")
expect(ClassName).to receive(:fetch\u file).and\u return(your\u mock)
其中ClassName是具有import\u file
方法的类,your\u mock
是要存根的替身。