Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Les tests instantanés générés sur plusieurs configurations de votre plan sont pris en charge.
Les plans permettent de tester des instantanés
Pour activer les tests instantanés
-
Dans le
.projenrc.ts
fichier, mettez à jour l'objet d'entrée ProjenBlueprint avec les fichiers que vous souhaitez capturer. Par exemple :{ .... blueprintSnapshotConfiguration: { snapshotGlobs: ['**', '!environments/**', '!aws-account-to-environment/**'], }, }
-
Resynthétisez le plan pour créer des TypeScript fichiers dans votre projet de plan. Ne modifiez pas les fichiers source car ils sont gérés et régénérés par Projen. Utilisez la commande suivante :
yarn projen
-
Accédez au
src/snapshot-configurations
répertoire pour afficher ledefault-config.json
fichier contenant un objet vide. Mettez à jour ou remplacez le fichier par une ou plusieurs de vos propres configurations de test. Chaque configuration de test est ensuite fusionnée avec ledefaults.json
fichier du projet, synthétisée et comparée aux instantanés lors des tests. Utilisez la commande suivante pour tester :yarn test
La première fois que vous utilisez une commande de test, le message suivant s'affiche :
Snapshot Summary › NN snapshots written from 1 test suite
Les tests suivants vérifient que la sortie synthétisée n'a pas changé par rapport aux instantanés et affichent le message suivant :Snapshots: NN passed, NN total
Si vous modifiez intentionnellement votre plan pour produire une sortie différente, exécutez la commande suivante pour mettre à jour les instantanés de référence :
yarn test:update
Les instantanés s'attendent à ce que les sorties synthétisées soient constantes entre chaque exécution. Si votre plan génère des fichiers qui varient, vous devez exclure ces fichiers du test des instantanés. Mettez à jour l'blueprintSnapshotConfiguration
objet de votre objet ProjenBluerpint
d'entrée pour ajouter la snapshotGlobs
propriété. La snapshotGlobs
propriété est un tableau de globs
Note
Il existe une liste de globs par défaut. Si vous spécifiez votre propre liste, vous devrez peut-être rétablir explicitement les entrées par défaut.