Un'azienda definisce la sua app con AWS Cloud Development Kit (CDK) e la distribuisce utilizzando una pipeline creata con AWS CodePipeline e AWS CodeBuild. Vogliono aggiungere unit test alla pipeline e assicurarsi che la distribuzione continui solo se nessuno degli unit test fallisce. Quali due passaggi imporranno questo requisito?
Scegli una risposta
Tocca un'opzione per controllare la tua risposta.
Risposta corretta: Modificare i comandi della fase di build di CodeBuild per eseguire prima i test e poi distribuire l'applicazione CDK. Configurare la proprietà OnFailure della fase CodeBuild su ABORT., Scrivere unit test usando la libreria AWS CDK assertions e usare l'asserzione template.hasResourceProperties per convalidare che le risorse abbiano le proprietà attese..
Perché questa è la risposta
Per garantire che la pipeline si interrompa in caso di fallimento degli unit test, è fondamentale configurare la fase di build di CodeBuild. Modificando i comandi della fase di build per eseguire prima i test e poi la distribuzione dell'applicazione CDK, si stabilisce l'ordine di esecuzione. Impostando la proprietà OnFailure della fase CodeBuild su ABORT, si assicura che l'intera pipeline si interrompa immediatamente se i test falliscono, impedendo la distribuzione di codice non testato. Inoltre, per implementare gli unit test in modo efficace, si devono scrivere test usando la libreria AWS CDK assertions. Questa libreria fornisce strumenti specifici per testare i costrutti CDK. L'asserzione template.hasResourceProperties è particolarmente utile per convalidare che le risorse create dal CDK abbiano le proprietà attese, garantendo che l'infrastruttura venga definita correttamente. Le opzioni che suggeriscono l'uso di --rollback true o --require-approval any-change con cdk deploy non impediscono l'esecuzione della distribuzione in caso di fallimento dei test; agiscono solo sulla gestione della distribuzione stessa o richiedono un'approvazione. L'opzione di creare un test che esegua cdk diff e faccia fallire il test se una risorsa dovesse cambiare non è un unit test tradizionale e non garantisce la correttezza logica del codice.
Supera il tuo esame — senza l'infinita caccia alle risposte
Ottieni ogni domanda e spiegazione verificata per questo esame in un unico posto, e risparmia ore di preparazione. Oltre 1.000 certificazioni · Oltre 20 lingue · Inizia gratuitamente.
Supera il tuo esame più velocemente → Nessuna carta richiesta