Bash Unit Testing
-
Bash Unit Testing
Bats: Bash Automated Testing System
Bats je TAP-compliant testing framework pro Bash. Poskytuje jednoduchý způsob, jak ověřit, že se programy pro UNIX, které píšete, chovají podle očekávání.Testovací soubor Bats je Bash skript se speciální syntaxí pro definování testovacích případů. Pod kapotou je každý testovací případ pouze funkcí s popisem.
#!/usr/bin/env bats"addition using bc""$(echo 2+2 | bc)""$result"-eq"addition using dc""$(echo 2 2+p | dc)""$result"-eq @test { result= [ 4 ] } @test { result= [ 4 ] }
Bats je nejužitečnější při testování softwaru napsaného v Bash, ale můžete jej použít k testování jakéhokoli unixového programu.
Testovací případy se skládají ze standardních příkazů shellu. Bats při spouštění testovacích případů využívá Bashovu volbu
errexit (set -e)
. Pokud každý příkaz v testovacím případě skončí se stavovým kódem 0 (úspěch), test projde. Tímto způsobem je každý řádek tvrzením pravdy (assertion true).