Toolverse
Wszystkie skille

bats-testing-patterns

autor: wshobson

Pisz testy do skryptów bash z systemem Bats — framework TAP dla automatyzacji testowania

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Testowanie
Wyświetlenia
14

O skillu

Opanuj Bash Automated Testing System (Bats) do kompleksowego testowania skryptów powłoki. Skill zawiera wzorce testowe, fixtures i best practices dla produkcyjnych testów jednostkowych. Użyj go gdy piszesz testy do skryptów shell, wdrażasz test-driven development lub konfigurujesz automatyczne testowanie w potokach CI/CD. Bats oferuje prostą składnię, kompatybilność z systemami CI poprzez format TAP, obsługę setup/teardown, helpery asercji i równoległy bieg testów.

Jak używać

  1. Zainstaluj Bats na swoim systemie: na macOS użyj brew install bats-core, na Ubuntu/Debian sklonuj repozytorium z GitHub (bats-core/bats-core) i uruchom install.sh, lub zainstaluj globalnie przez npm install --global bats. Sprawdź instalację poleceniem bats --version.

  2. Przygotuj strukturę projektu z katalogami bin/ dla skryptów, tests/ dla plików testowych oraz fixtures/ dla danych testowych. Umieść pliki .bats w katalogu tests/ razem z plikiem test_helper.sh, jeśli potrzebujesz wspólnych funkcji pomocniczych.

  3. Utwórz plik testowy z rozszerzeniem .bats, zaczynając od shebang #!/usr/bin/env bats. Załaduj test_helper.sh poleceniem load test_helper, jeśli istnieje. Zdefiniuj funkcje setup() i teardown() do przygotowania i czyszczenia środowiska przed i po każdym teście.

  4. Pisz testy jako funkcje bash zaczynające się od @test, gdzie każda funkcja to jeden test case. Używaj asercji Bats takich jak [ ] do porównań, run do wykonywania poleceń i [ "$status" -eq 0 ] do sprawdzania kodów wyjścia. Testuj edge cases, warunki błędu i zachowanie na różnych wariantach powłoki.

  5. Uruchom testy poleceniem bats tests/test_script.bats lub bats tests/ aby wykonać wszystkie testy w katalogu. Bats wyświetli wyniki w formacie TAP kompatybilnym z systemami CI/CD. Obserwuj output aby zidentyfikować nieudane asercje i dostosuj testy lub kod.

  6. Integruj Bats z potokami CI/CD poprzez dodanie polecenia bats do skryptów build lub workflow. Wykorzystaj fixtures do przechowywania danych testowych, mockowanie funkcji w helpers/ do izolacji testów oraz równoległy bieg testów dla przyspieszenia.

Podobne skille