Ruby 如何正确测试使用Fog存储从AWS S3下载的gem?

Ruby 如何正确测试使用Fog存储从AWS S3下载的gem?,ruby,rspec,amazon-s3,fog,Ruby,Rspec,Amazon S3,Fog,我看到Fog gem有一些模仿的能力,但参考/示例似乎没有在这方面显示太多。我正在构建一个gem,它使用Fog存储从S3下载文件,我希望实现适当的测试,但不要求它在测试运行期间实际与S3交互。这可以模拟出来吗?或者我应该创建一个公共的S3 bucket进行测试吗 你应该可以只做Fog.mock!在测试设置和后续调用中,将以模拟方式进行,无需额外工作。但是,我会注意到,您需要包括所有可能的交互。也就是说,当您第一次使用模拟的fog连接时,S3术语中不存在目录桶,因此无论是在测试中还是在设置中,您都

我看到Fog gem有一些模仿的能力,但参考/示例似乎没有在这方面显示太多。我正在构建一个gem,它使用Fog存储从S3下载文件,我希望实现适当的测试,但不要求它在测试运行期间实际与S3交互。这可以模拟出来吗?或者我应该创建一个公共的S3 bucket进行测试吗

你应该可以只做Fog.mock!在测试设置和后续调用中,将以模拟方式进行,无需额外工作。但是,我会注意到,您需要包括所有可能的交互。也就是说,当您第一次使用模拟的fog连接时,S3术语中不存在目录桶,因此无论是在测试中还是在设置中,您都应该为您的对象创建一个目录。从那里,您应该能够创建/销毁/等,而无需每次触摸S3。更确切地说,您当然可以为测试环境使用明显虚假的S3凭据,这样,如果您忘记包含mock!打电话,比如说,它不会在你真正的东西上运行。希望有帮助

谢谢。我将尝试一下,并以进步和见解回答。@n8gard,结果如何?