Testing Bash scripts

Nikita Sobolev - Jul 9 '17 - - Dev Community

When you need to test a bash script you can use bats for that. That's how it is done:

#!/usr/bin/env bats

@test "addition using bc" {
  result="$(echo 2+2 | bc)"
  [ "$result" -eq 4 ]
}

@test "addition using dc" {
  result="$(echo 2 2+p | dc)"
  [ "$result" -eq 4 ]
}
Enter fullscreen mode Exit fullscreen mode

bats uses special @test syntax to define tests. Inside the test's body every line should return 0 exit code or the test will fail.

Read full article here with different tools compared: https://medium.com/wemake-services/testing-bash-applications-85512e7fe2de

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .