Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

325
Visualizações
¿Cómo hacemos pruebas unitarias para el código AWS CDK? ¿Y deberíamos?

Según los ejemplos que veo, las aserciones de código se esperan de la plantilla json cf frente a la plantilla generada por el sintetizador cdk.

¿Cómo configuramos la plantilla json cf esperada?

  • Si lo creamos manualmente, eso frustra el propósito de usar cdk.
  • Si solo copiamos y pegamos la salida del sintetizador cdk, eso anula el propósito de la prueba unitaria.

Habiendo dicho eso, ¿hay algún propósito en tener pruebas unitarias para el código CDK? Tal vez me estoy perdiendo la idea aquí. Por favor, indícalo.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

aws-cdk tiene una biblioteca de utilidades de prueba que son útiles para afirmar contra pilas. El repositorio de cdk lo usa para muchas de sus propias pruebas unitarias.

https://www.npmjs.com/package/@aws-cdk/assert

Esto le permite hacer algo como

 // jest test('configurable retention period cannot exceed 14 days', () => { const stack = new MyStack(); expect(stack).to(haveResource('AWS::SomeService::SomeResource', { SomePropertyOnResource: 'some-value-it-should-have' })); });

Esto solo es compatible con las aplicaciones de CDK escritas en mecanografiado a partir de ahora, pero el plan es admitir eventualmente todos los idiomas compatibles con cdk.

Si debe hacer esto o no, por lo general es similar a preguntar si debe realizar una prueba unitaria de cualquier base de código. Si tiene mucha lógica comercial compleja que hace cosas como crear recursos de forma condicional o cambiar el comportamiento de sus aplicaciones, probablemente valga la pena obtener algo de cobertura en esos lugares. Si su aplicación es esencialmente un montón de declaraciones estáticas sin condicionales, bucles, etc., tal vez pueda arreglárselas con solo ejecutar cdk diff al realizar cambios y verificar manualmente los cambios esperados.

Si está escribiendo construcciones personalizadas para reutilizarlas en diferentes aplicaciones de cdk, probablemente sea una buena idea realizar pruebas unitarias.

Algunos documentos relevantes https://docs.aws.amazon.com/cdk/latest/guide/testing.html

over 4 years ago · Santiago Trujillo Relatório

0

Un enfoque que uso es crear un proyecto diferente delegado para usar los recursos que espero que se hayan creado.

Entonces, desde el cdk-init-cluster , simplemente creo todos los recursos necesarios usando la biblioteca cdk . Entonces, después de la fase de IMPLEMENTACIÓN , ejecuto el cdk-init-cluster-test que está delegado para completar/consultar/usar los recursos creados previamente a partir del cdk-init-cluster .

Este enfoque solo puede ayudar con algunos tipos de recursos, tales como:

  • cubeta S3
  • lambda
  • sincronización de aplicaciones
  • Tabla de DynamoDB

El proyecto de prueba está a cargo de:

  • Rellene la tabla de DynamoDB y recupere los datos.
  • Llame a la función Lambda con datos ficticios
  • Llame a la función lambda con los datos correctos para verificar el comportamiento de los permisos
  • Llame a appsync (que envuelve todos los recursos anteriores) y verifique el resultado

Luego, elimino los datos insertados para la prueba. Si no se producen excepciones, se pasa la prueba.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda