Testowanie może być trudne. AVA pomaga je zrobić. AVA jest programem uruchamiającym testy dla Node.js ze zwięzłym API, szczegółowym wyjściem błędu, nowymi funkcjami języka i izolacją procesów, które pozwalają na bardziej efektywne pisanie testów. Więc możesz wysłać więcej niesamowitego kodu. 🚀
Obserwuj konto AVA na Twitter dla aktualizacji.
Przeczytaj nasz contributing guide jeśli chcesz pomóc (issues / PRs / etc).
Tłumaczenia: Español, Français, Italiano, 日本語, 한국어, Português, Русский, 简体中文
- Minimalna i szybka
- Prosta składnia testu
- Prowadzi testy jednocześnie
- Wymusza pisanie testów atomowych
- Żadnych niejawnych globalów
- Zawiera definicje TypeScript
- Magic assert
- Izolowane środowisko dla każdego pliku testowego
- Napisz swoje testy przy użyciu najnowszej składni JavaScript
- Wsparcie promise
- Wsparcie funkcji asynchronicznych
- Wsparcie Observable
- Ulepszone komunikaty assertion
- Uruchamiany automatyczny test równoległy CI
- TAP reporter
Aby zainstalować i skonfigurować AVA, uruchom:
npm init ava
Twój package.json
będzie wyglądać następująco (niezależnie od dokładnej wersji):
{
"name": "awesome-package",
"scripts": {
"test": "ava"
},
"devDependencies": {
"ava": "^1.0.0"
}
}
Lub jeśli wolisz używać Yarn:
yarn add ava --dev
Alternatywnie możesz zainstalować ava
manualnie:
npm install --save-dev ava
Nie zapomnij skonfigurować skryptu test
w swoim package.json
jak powyżej.
Stwórz plik nazwany test.js
w katalogu głównym projektu:
const test = require('ava');
test('foo', t => {
t.pass();
});
test('bar', async t => {
const bar = Promise.resolve('bar');
t.is(await bar, 'bar');
});
npm test
Lub z npx
:
npx ava
Uruchom z flagą --watch
aby włączyć AVA'y watch mode:
npx ava --watch
AVA obsługuje najnowszą wersję dowolnej głównej wersji, która jest obsługiwana przez sam Node.js. Przeczytaj więcej w naszej deklaracji wsparcia.
AVA dodaje fragmenty kodu i czyści różnice dla wartości rzeczywistych i oczekiwanych. Jeśli wartości w asercji są obiektami lub tablicami, wyświetlana jest tylko różnica, aby usunąć szum i skupić się na problemie. Różnica jest również wyróżniona w składni! Jeśli porównujesz ciągi znaków, zarówno jedno jak i wieloliniowe, AVA wyświetla inny rodzaj danych wyjściowych, podkreślając dodane lub brakujące znaki.
AVA automatycznie usuwa niepowiązane linie ze śladów stosu, co pozwala znacznie szybciej znaleźć źródło błędu, jak pokazano powyżej.
AVA automatycznie wykrywa, czy środowisko CI obsługuje równoległe buildy. Każda kompilacja uruchomi podzbiór wszystkich plików testowych, jednocześnie upewniając się, że wszystkie testy zostaną wykonane. Zobacz ci-parallel-vars
pakiet zawierający listę obsługiwanych środowisk CI.
Proszę zobacz pliki w katalogu docs
:
- Pisanie testów
- Kontekst wykonania
- Asercje
- Snapshot testing
- Linia poleceń (CLI)
- Konfiguracja
- Test timeouts
Mamy coraz więcej typowych pułapek których możesz doświadczyć podczas korzystania z AVA. Jeśli napotkasz jakieś problemy, które uważasz za typowe, skomentuj w tym issue.
- Konfiguracja testowa
- Pokrycie kodu
- Watch mode
- Testowanie Endpoint
- Kiedy użyć
t.plan()
- Testowanie przeglądarki
- TypeScript
- Flow
- Konfiguracja Babel
- Korzystanie z modułów ES
- Przekazywanie argumentów do plików testowych
- Testowanie komponentów React
- Testowanie komponentów Vue.js
- JSPM oraz SystemJS
- Debugowanie testów z Chrome DevTools
- Debugowanie testów z VSCode
- Debugowanie testów z WebStorm
- Izolowane testy integracyjne MongoDB
- Testowanie aplikacji internetowych używając Puppeteer
- Testowanie aplikacji internetowych używając Selenium WebDriverJS
Mocha wymaga, abyś używał bezwględnych globali takich jak describe
i it
z domyślnym interfejsem (z którego korzysta większość osób). Nie jest bardzo opiniotwórcza i wykonuje testy szeregowo bez izolacji procesu, co spowalnia.
Tape i tap są całkiem niezłe. AVA jest wysoce zainspirowana ich składnią. One również wykonują testy szeregowo. Ich domyślne TAP wyjście nie jest jednak zbyt przyjazne dla użytkownika, więc zawsze korzystasz z zewnętrznego tap reportera.
W przeciwieństwie, AVA jest bardzo pewny siebie i uruchamia testy jednocześnie, z osobnym procesem dla każdego pliku testowego. Domyślny reporter jest przyjemny dla oczu, a mimo to AVA nadal obsługuje wyjście TAP poprzez flagę CLI.
AVA, nie Ava lub ava. Wymawiane /ˈeɪvə/
: Ay (face, made) V (vie, have) A (comma, ago)
Jest to galaktyka Andromeda.
Współbieżność nie jest równoległością. Umożliwia równoległość.
- eslint-plugin-ava - Zasady Linta dla testów AVA
- sublime-ava - Snippets dla testów AVA
- atom-ava - Snippets dla testów AVA
- vscode-ava - Snippets dla testów AVA
- gulp-ava - Uruchamianie testów z gulp
- grunt-ava - Uruchamianie testów z grunt
- Więcej…
Mark Wubben | Sindre Sorhus | Vadim Demedes |