Note du traducteur
C'est la traduction du fichier readme.md. Voici un lien vers les différences avec le master de AVA (Si en cliquant sur le lien, vous ne trouvez pas le fichier readme.md
parmi les fichiers modifiés, vous pouvez donc en déduire que la traduction est à jour).
AVA est un exécuteur de tests pour Node.js avec une API concise, une sortie d'erreur détaillée, l'adoption de nouvelles fonctionnalités du langage et l'isolation des processus qui vous permet de développer en toute confiance 🚀.
Suivez le compte Twitter de AVA pour les mises à jour.
Lisez notre guide de contribution si vous souhaitez contribuer (issues / PRs / etc).
Traductions : Español, Français, Italiano, 日本語, 한국어, Português, Русский, 简体中文
- Minimal et rapide
- Syntaxe de test simple
- Exécution des tests simultanément
- Application de l'écriture des tests atomiques
- Aucunes globales implicites
- Inclus les définitions des types pour TypeScript
- Magic assert
- Environnement isolé pour chaque fichier de test
- Prise en charge des promesses
- Prise en charge des fonctions asynchrones
- Prise en charge d'Observable
- Messages d'assertions améliorés
- Test automatiquement en parallèle dans CI
- Reporter de TAP
Pour installer et configurer AVA, exécutez :
npm init ava
Votre package.json
ressemblera alors à ceci (version exacte) :
{
"name": "awesome-package",
"scripts": {
"test": "ava"
},
"devDependencies": {
"ava": "^1.0.0"
}
}
Ou si vous préférez utiliser Yarn :
yarn add ava --dev
Sinon, vous pouvez installer manuellement ava
:
npm install --save-dev ava
N'oubliez pas de configurer le script test
dans votre package.json
comme indiqué ci-dessus.
Créez un fichier nommé test.js
dans le répertoire racine du projet :
import test from 'ava';
test('foo', t => {
t.pass();
});
test('bar', async t => {
const bar = Promise.resolve('bar');
t.is(await bar, 'bar');
});
npm test
Ou avec npx
:
npx ava
Exécutez avec l'option --watch
pour activé le mode watch de AVA.
npx ava --watch
AVA prend en charge la dernière version de toute version majeure prise en charge par Node.js. Lisez la suite dans notre déclaration de support.
AVA ajoute les extraits de code et les différences pour les valeurs réelles et attendues. Si les valeurs dans l'assertion sont des objets ou des tableaux, seule la différence est affichée, tout ce qui ne concerne pas le sujet est enlevé, pour se concentrer uniquement sur le problème. La différence est aussi mise en évidence ! Si vous comparez des strings, à la fois sur une ou plusieurs lignes, AVA affiche un autre type de sortie, mettant en évidence les caractères supplémentaires ou manquants.
AVA supprime automatiquement les lignes sans rapport dans la stack trace, cela permet de trouver la source d'une erreur plus rapidement, comme présenté ci-dessous.
AVA détecte automatiquement si votre environnement CI prend en charge les builds en parallèle. Chaque build exécutera un sous-ensemble de tous les fichiers de test, tout en veillant à ce que tous les tests soient exécutés. Consultez le package ci-parallel-vars
pour visualiser la liste des environnements CI pris en charge.
Veuillez consulter les fichiers dans le répertoire docs
:
- Ecriture des tests
- Contexte d'exécution
- Assertions
- Test d'instantané
- Ligne de commande (CLI)
- Configuration
- Timeouts des tests
Nous avons une liste croissante de pièges classiques que vous pouvez rencontrer lors de l'utilisation AVA. Si vous rencontrez des problèmes que vous jugez habituels, commentez les dans cette issue.
- Configuration de test
- TypeScript
- Workers partagés
- Mode watch
- Quand utiliser
t.plan()
? - Passer des arguments à vos fichiers de test
- Fractionnement des tests en CI
- Couverture de code
- Tester un endpoint
- Tests de navigateur
- Tester les composants Vue.js
- Débogage des tests avec Chrome DevTools
- Débogage des tests avec VSCode
- Débogage des tests avec WebStorm
- Tests d'intégration isolés de MongoDB
- Tester des applications Web avec Puppeteer
- Tester des applications Web à l'aide de Selenium WebDriverJS
Mocha vous oblige à utiliser les globales implicites comme describe
et it
avec l'interface par défaut (que la plupart des gens utilisent). Il est pas très opiniâtre et exécute des tests en série sans isolation du processus, ce qui le rend lent.
Tape et node-tap sont bons. AVA est fortement inspiré par leur syntaxe. Tous les deux exécutent les tests en série. La restitution de TAP n'est pas facile à lire donc vous avez toujours besoin de l'aide d'un "reporter" tap.
Au contraire, AVA est très opiniâtre et exécute les tests en simultané, avec des processus distincts pour chaque fichier de test. Son "reporter" par défaut est agréable à regarder et pourtant AVA soutient encore la restitution de TAP à travers une option du CLI.
AVA, pas Ava ni ava. Prononcez /ˈeɪvə/
: eil (orteil, oreiller) V (vie, avoir) A (matin, avoir).
C'est la galaxie d'Andromède..
La simultanéité n'est pas du parallélisme. Il permet le parallélisme..
- eslint-plugin-ava - Règles de Lint pour les tests AVA
- @ava/typescript — Test des projets TypeScript
- @ava/cooperate — Primitives de bas niveau pour permettre la coopération entre les fichiers de test
- @ava/get-port — Réserver un port pendant les tests
Mark Wubben | Sindre Sorhus |