1
0
mirror of https://github.com/sstephenson/bats.git synced 2024-11-17 03:32:27 +01:00

Update README to clarify rules about stdout/sterr

A short note in the README to explain that users should not write anything
to stdout outside of @test, setup or teardown functions.

Also added a link pointing to the wiki where more information is given
about how Bats evaluates test files.
This commit is contained in:
Peter Aronoff 2013-10-24 07:45:22 -04:00
parent 0e5e445728
commit 59a83796c1

View File

@ -25,6 +25,16 @@ description.
Bats is most useful when testing software written in Bash, but you can Bats is most useful when testing software written in Bash, but you can
use it to test any UNIX program. use it to test any UNIX program.
**NB**: You can include code in your test file outside of `@test` functions.
For example, this may be useful if you want to check for dependencies and
fail immediately if they're not present. However, any output that you print
in code outside of `@test`, `setup` or `teardown` functions must be
redirected to `stderr`. Otherwise, the output will cause Bats to fail by
polluting the TAP stream on `stdout`. (For more details about exactly how
Bats evaluates test files, see [the wiki][eval].)
[eval]: https://github.com/sstephenson/bats/wiki/Bats-Evaluation-Process
Test cases consist of standard shell commands. Bats makes use of Test cases consist of standard shell commands. Bats makes use of
Bash's `errexit` (`set -e`) option when running test cases. If every Bash's `errexit` (`set -e`) option when running test cases. If every
command in the test case exits with a `0` status code (success), the command in the test case exits with a `0` status code (success), the