1
0
mirror of https://github.com/sstephenson/bats.git synced 2024-09-29 20:48:27 +02:00

Fix code blocks

Peter Aronoff 2013-10-24 04:38:37 -07:00
parent 45934921a3
commit a1ab05353d

@ -1,10 +1,10 @@
In order to better understand what you can and can't do outside of `test` blocks, it's important to know how Bats processes test files. Below is a walkthrough by Sam: In order to better understand what you can and can't do outside of `test` blocks, it's important to know how Bats processes test files. Below is a walkthrough by Sam:
First, each test file is preprocessed. This essentially amounts to replacing lines like `@test "first test" {` with `test_first_test() { bats_begin_test "first test"`;, i.e. turning each `@test` block into a test function. First, each test file is preprocessed. This essentially amounts to replacing lines like `@test "first test" {` with `test_first_test() { bats_begin_test "first test";`, i.e. turning each `@test` block into a test function.
Then, each test file is executed n+1 times, where n is the number of test cases in the file. Then, each test file is executed n+1 times, where n is the number of test cases in the file.
The first run evaluates the file without running any test functions, counting all the test cases in the file. If you invoke bats with -c, execution ends here; otherwise, the first run prints out the TAP header `(1..n)`, then iterates over the test cases and executes each one in a new child process. The first run evaluates the file without running any test functions, counting all the test cases in the file. If you invoke bats with `-c`, execution ends here; otherwise, the first run prints out the TAP header `(1..n)`, then iterates over the test cases and executes each one in a new child process.
Each individual run again evaluates the entire test file, then invokes the setup function, if defined, then invokes the specified test function, and finally invokes teardown. An exit trap is responsible for printing the TAP status `(1 ok first test, 2 not ok second test)`. Each individual run again evaluates the entire test file, then invokes the setup function, if defined, then invokes the specified test function, and finally invokes teardown. An exit trap is responsible for printing the TAP status `(1 ok first test, 2 not ok second test)`.