Bash:
Tests Schrijven
Hoe:
Bash heeft geen ingebouwd testframework, maar je kunt eenvoudige testcommando’s en beweringen gebruiken. Laten we een functie schrijven en deze testen met test
of [ ]
.
Bash-functie om te testen:
is_number() {
[[ $1 =~ ^[0-9]+$ ]] && return 0 || return 1
}
Testgeval:
test_is_number() {
is_number 42 && echo "Pass: 42 is een nummer" || echo "Fail: 42 is geen nummer"
is_number abc && echo "Pass: abc is een nummer" || echo "Fail: abc is geen nummer"
}
test_is_number
Voorbeelduitvoer:
Pass: 42 is een nummer
Fail: abc is geen nummer
Diepgaande duik
Bash-testen is geëvolueerd. Aanvankelijk zou men handmatig scriptuitvoer controleren. Toen kwam het test
commando in de jaren 70, waardoor scripts zelf voorwaarden konden controleren. Alternatieven zoals Bats
, een daadwerkelijk Bash-testframework, bieden meer functies maar vereisen een externe installatie. Het combineren van Bats
met Continuous Integration (CI) tools zoals Jenkins of GitHub Actions leidt tot robuustere testpijplijnen. Terwijl je implementeert, onthoud dat Bash minder gedetailleerd is dan de testframeworks van andere talen; gebruik -eq
voor het vergelijken van getallen, -z
om te controleren of een string leeg is, en [[ ]]
voor geavanceerde functies zoals patroonmatching.