Ruby on rails 用于Ruby的AWS SDK-存根数据

Ruby on rails 用于Ruby的AWS SDK-存根数据,ruby-on-rails,ruby,amazon-web-services,Ruby On Rails,Ruby,Amazon Web Services,我在使用AWS SDK for Ruby截取数据时遇到一些问题 我正在打电话给admin_create_user,想在我的测试中添加数据 如果我只是做一些像: Aws::CognitoIdentityProvider::Client.new.stub_data(:admin_create_user) 它会存根数据,但用户没有属性。我希望有一些特定的属性,因此我尝试: Aws::CognitoIdentityProvider::Client.new.stub_data(:admin_create

我在使用AWS SDK for Ruby截取数据时遇到一些问题

我正在打电话给admin_create_user,想在我的测试中添加数据

如果我只是做一些像:

Aws::CognitoIdentityProvider::Client.new.stub_data(:admin_create_user)
它会存根数据,但用户没有属性。我希望有一些特定的属性,因此我尝试:

Aws::CognitoIdentityProvider::Client.new.stub_data(:admin_create_user, user: { attributes: [{ name: 'sub', value: some_user_id }] })
但这似乎不起作用


如何正确地存根数据以放置所需信息?

结果是,如果您想在rspec测试中存根数据,您需要执行以下操作:

Aws.config = {
  stub_responses: {
    admin_create_user: { user: { attributes: [{ name: 'sub', value: some_user_id }] } }
  }
}

这将在全局范围内更改AWS配置因此,即使下列请求位于不同的上下文中,也会更改AWS配置。

我建议使用Webmock,如果需要,您可能希望设置
Webmock.disable\u net\u connect