Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Adicionar testes com stubbing ao seu aplicativo AWS SDK for Ruby

Modo de foco
Adicionar testes com stubbing ao seu aplicativo AWS SDK for Ruby - AWS SDK para Ruby

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Saiba como extrair respostas e erros do cliente em um aplicativo AWS SDK for Ruby.

Simular respostas de clientes

Quando você esboça uma resposta, o AWS SDK for Ruby desativa o tráfego de rede e o cliente retorna dados fragmentados (ou falsos). Se você não fornecer dados simulados, o cliente retornará:

  • Listas como matrizes vazias

  • Mapas como hashes vazios

  • Valores numéricos como zeros

  • Datas como now

O exemplo a seguir retorna nomes simulados para a lista de buckets do Amazon S3.

require 'aws-sdk' s3 = Aws::S3::Client.new(stub_responses: true) bucket_data = s3.stub_data(:list_buckets, :buckets => [{name:'aws-sdk'}, {name:'aws-sdk2'}]) s3.stub_responses(:list_buckets, bucket_data) bucket_names = s3.list_buckets.buckets.map(&:name) # List each bucket by name bucket_names.each do |name| puts name end

A execução desse código exibe o seguinte.

aws-sdk aws-sdk2
nota

Depois de você fornecer dados simulados, os valores padrão não se aplicam mais aos atributos de instância restantes. Isso significa que, no exemplo anterior, o atributo de instância restante, creation_date, não é now, mas sim nil.

O AWS SDK for Ruby valida seus dados fragmentados. Se você transmitir dados do tipo errado, ele lançará uma exceção ArgumentError. Por exemplo, se, em vez da atribuição anterior a bucket_data, você tiver usado o seguinte:

bucket_data = s3.stub_data(:list_buckets, buckets:['aws-sdk', 'aws-sdk2'])

O AWS SDK para Ruby ArgumentError gera duas exceções.

expected params[:buckets][0] to be a hash expected params[:buckets][1] to be a hash

Simular de erros de clientes

Você também pode corrigir erros que o AWS SDK for Ruby gera para métodos específicos. O exemplo a seguir exibe Caught Timeout::Error error calling head_bucket on aws-sdk.

require 'aws-sdk' s3 = Aws::S3::Client.new(stub_responses: true) s3.stub_responses(:head_bucket, Timeout::Error) begin s3.head_bucket({bucket: 'aws-sdk'}) rescue Exception => ex puts "Caught #{ex.class} error calling 'head_bucket' on 'aws-sdk'" end
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.