我正在为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在模拟响应中不存在。你能帮我吗?
您需要为kinesis客户端提供describe_stream方法的响应。
kinesis.stub_responses(:describe_stream, stream_description: {})
请注意,这将失败,因为它不提供stream_description中的任何必需属性,但它引发的异常将告诉您需要哪些属性。