RSpec的AWS Kinesis存根

问题描述 投票:0回答:1

我正在为Rails app编写规范。并且需要来自aws kinesis服务的存根请求。这是stub_helper中存根的代码

  def stub_kinesis_client
    kinesis = Aws::Kinesis::Client.new(stub_responses: true)
    kinesis.describe_stream(stream_name: 'demo_stream')
  end

我遇到了这个问题:

NameError:
       no member 'stream_description.has_more_shards' in struct

似乎has_more_shards在模拟响应中不存在。你能帮我吗?

ruby-on-rails ruby amazon-web-services amazon-kinesis
1个回答
1
投票

您需要为kinesis客户端提供describe_stream方法的响应。

kinesis.stub_responses(:describe_stream, stream_description: {})

请注意,这将失败,因为它不提供stream_description中的任何必需属性,但它引发的异常将告诉您需要哪些属性。

© www.soinside.com 2019 - 2024. All rights reserved.