存根调用 `Aws.config.update()`

Stub Calls to `Aws.config.update()`

我正在为 class 编写单元测试(使用 Ruby MiniTest 框架),作为构造函数的一部分,使用一组凭证配置 AWS SDK 全局配置。

它通过调用 Aws.config.update() 并传递凭据的哈希值来实现。

作为测试的一部分,我不希望发生此配置更改。有什么办法可以在不修改正在测试的 class 的情况下实现这一目标?即不向方法参数驱动的方法调用添加条件。

虽然这看起来不像 'stub' 场景(我不希望在 return 中收到来自电话的预设响应,我只是不希望该电话导致配置更改)我想知道我是否可以使用 AWS SDK 存根功能(描述得很好here

未指定 return 值的存根具有您想要的效果,例如:

expect(Aws.config).to receive(:update)

之后,运行ning Aws.config.update 将只是 return nil 而不是 运行 任何东西。您也可以使用 allow

您没有指定您使用的是什么测试库,但为了清楚起见,我给出的示例在 RSpec 中。