我正在为一个类编写单元测试(使用Ruby MiniTest框架),该类作为构造函数的一部分,使用一组凭据配置AWS SDK全局配置。
通过调用Aws.config.update()
并传递凭证哈希来实现此目的。
作为测试的一部分,我不希望发生此配置更改。有没有办法在不修改被测试的类的情况下实现这一目的?即,不在条件参数驱动的方法调用中添加条件。
虽然这似乎不是一个“存根”场景(我不希望从通话中得到一个预设响应,我只是不希望该调用导致配置更改)我想知道我是否可以使用AWS SDK存根功能(非常好地描述here)
答案 0 :(得分:2)
不指定返回值的存根具有您想要的效果,例如:
expect(Aws.config).to receive(:update)
如果这样,运行Aws.config.update
将返回nil而不是实际运行任何东西。您也可以使用allow
。
您没有指定您正在使用的测试库,但要明确我给出的示例是RSpec。