@@ -32,21 +32,21 @@ testing framework to a local directory, then execute `test.sh` to start the suit
3232| ------------------------------------------------------------------------------------------------------------------------------------------| ---------------------------------------------------------------------------| -------------------------------------------------------------------------------------------------------------------------------| ---------------------------------------------------------------------------| ----------------------------------------------------------------------------| ---------------------------------------------------------------------| -----------------------------------------|
3333| Discover and run all tests<br />in the project | ✔️ | ✔️ | ❌ [ <sup >?</sup >] ( example-shunit2#test-discovery ) | ⚠ [ <sup >?</sup >] ( example-bash_unit#test-discovery ) | ✔️ [ <sup >?</sup >] ( example-shellspec#test-discovery ) | ✔️ |
3434| Run subset of tests or<br />a specific test | ✔️ | ✔️ [ <sup >?</sup >] ( example-bats#test-discovery ) | ⚠ [ <sup >?</sup >] ( example-shunit2#test-discovery ) | ✔️ | ✔️ | ❌ [ <sup >issue</sup >] ( https://github.com/rylnd/shpec/issues/31 ) |
35- | Parallel test execution | ❌ | ✔️ | ❌ | ❌ | ✔️ | ❌ |
35+ | Parallel test execution | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ❌ |
3636| Skip or ignore tests | ✔️ | ✔️ | ⚠ [ <sup >?</sup >] ( example-shunit2#skip-tests ) | ✔️ [ <sup >?</sup >] ( example-bash_unit#skip-tests ) | ✔️ | ❌ [ <sup >issue</sup >] ( https://github.com/rylnd/shpec/issues/57 ) |
3737| Rich assertion library | ✔️ | ⚠ [ <sup >?</sup >] ( example-bats#assertions ) | ⚠ [ <sup >?</sup >] ( example-shunit2#assertions ) | ⚠ [ <sup >?</sup >] ( example-bash_unit#assertions ) | ✔️ [ <sup >?</sup >] ( example-shellspec#assertions ) | ✔️ [ <sup >?</sup >] ( example-shpec#assertions ) |
3838| Extensible with custom assertions | ✔️ | ✔️ [ <sup >?</sup >] ( example-bats#custom-assertions ) | ✔️ [ <sup >?</sup >] ( example-shunit2#custom-assertions ) | ✔️ [ <sup >?</sup >] ( example-bash_unit#custom-assertions ) | ✔️ [ <sup >?</sup >] ( example-shellspec#custom-assertions ) | ✔️ [ <sup >?</sup >] ( example-shpec#custom-assertions ) |
3939| Before / After | ✔️ | ✔️ | ⚠ [ <sup >issue</sup >] ( https://github.com/kward/shunit2/issues/112 ) | ✔️ | ✔️ | ❌ [ <sup >issue</sup >] ( https://github.com/rylnd/shpec/issues/52 ) |
4040| BeforeAll / AfterAll | ✔️ | ❌ [ <sup >issue</sup >] ( example-bats#test-discovery ) | ⚠ [ <sup >issue</sup >] ( https://github.com/kward/shunit2/issues/112 ) | ✔️ | ✔️ [ <sup >?</sup >] ( example-shellspec#test-format ) | ❌ [ <sup >issue</sup >] ( https://github.com/rylnd/shpec/issues/52 ) |
4141| Parameterized tests<br />and test data | ✔️ | ❌ [ <sup >issue</sup >] ( https://github.com/sstephenson/bats/issues/136 ) | ❌ | ❌ | ✔️ | ❌ |
42- | Mocking \* | ⚠ [ < sup >issue</ sup > ] ( https://github.com/TypedDevs/bashunit/pull/232 ) | ✔️ [ <sup >?</sup >] ( example-bats#mocking ) | ⚠ [ <sup >?</sup >] ( example-shunit2#mocking ) | ✔️ [ <sup >?</sup >] ( example-bash_unit#mocking ) | ✔️ [ <sup >?</sup >] ( example-shellspec#mocking ) | ✔️ [ <sup >?</sup >] ( example-shpec#mocking ) |
42+ | Mocking \* | ✔️ | ✔️ [ <sup >?</sup >] ( example-bats#mocking ) | ⚠ [ <sup >?</sup >] ( example-shunit2#mocking ) | ✔️ [ <sup >?</sup >] ( example-bash_unit#mocking ) | ✔️ [ <sup >?</sup >] ( example-shellspec#mocking ) | ✔️ [ <sup >?</sup >] ( example-shpec#mocking ) |
4343| Isolation between tests \*\* | ✔️ | ✔️ [ <sup >doc</sup >] ( https://github.com/bats-core/bats-core/wiki/Bats-Evaluation-Process ) | ❌ | ✔️ | ✔️ | |
4444| Nice local report | ✔️ | ⚠ [ <sup >?</sup >] ( example-bats#report ) | ✔️ | ✔️ | ✔️ | ✔️ |
45- | CI compatible report | ⚠ | ✔️ [ <sup >TAP</sup >] ( http://testanything.org/ ) | ❌ [ <sup >issue</sup >] ( https://github.com/kward/shunit2/issues/31 ) | ✔️ [ <sup >TAP</sup >] ( http://testanything.org/ ) | ✔️ [ <sup >TAP</sup >] ( http://testanything.org/ ) | ❌ |
45+ | CI compatible report | ✔️ | ✔️ [ <sup >TAP</sup >] ( http://testanything.org/ ) | ❌ [ <sup >issue</sup >] ( https://github.com/kward/shunit2/issues/31 ) | ✔️ [ <sup >TAP</sup >] ( http://testanything.org/ ) | ✔️ [ <sup >TAP</sup >] ( http://testanything.org/ ) | ❌ |
4646| Zero Dependency and<br />implemented in Bash \*\*\* | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
4747| Easy to install \*\*\*\* | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
4848| Tests written in Bash | ✔️ | ⚠ [ <sup >almost</sup >] ( example-bats#test-format ) | ✔️ | ✔️ | ❌ [ <sup >?</sup >] ( example-shellspec#test-format ) | ❌ [ <sup >?</sup >] ( example-shpec#test-format ) |
49- | Compatible with the <br />Unofficial Bash Strict Mode \*\*\*\*\* | ⚠ | ✔️| ⚠ [ <sup >?</sup >] ( https://github.com/dodie/testing-in-bash/tree/master/example-bats#unit-testing-scripts-that-set-bash-options ) | ✔️ | ⚠ [ <sup >issue</sup >] ( https://github.com/pgrange/bash_unit/issues/61 ) | ✔️ | |
49+ | Compatible with the <br />Unofficial Bash Strict Mode \*\*\*\*\* | ✔️ | ✔️| ⚠ [ <sup >?</sup >] ( https://github.com/dodie/testing-in-bash/tree/master/example-bats#unit-testing-scripts-that-set-bash-options ) | ✔️ | ⚠ [ <sup >issue</sup >] ( https://github.com/pgrange/bash_unit/issues/61 ) | ✔️ | |
5050| Maintained | ✔️ | ⚠ [ <sup >?</sup >] ( example-bats#activity ) | ⚠ [ <sup >?</sup >] ( example-shunit2#activity ) | ✔️ [ <sup >?</sup >] ( example-bash_unit#activity ) | ✔️ [ <sup >?</sup >] ( example-shellspec#activity ) | ⚠ [ <sup >?</sup >] ( example-shpec#activity ) |
5151| Mature | ❌ [ <sup >since 2023</sup >] ( https://github.com/TypedDevs/bashunit/releases ) | ✔️ [ <sup >since 2011</sup >] ( https://github.com/bats-core/bats-core/releases ) | ✔️ [ <sup >since 2007</sup >] ( https://github.com/kward/shunit2/commits/master?after=0f0a77b6b257f24d2b3ef1b28096fdd154a19f22+10 ) | ✔️ [ <sup >since 2016</sup >] ( https://github.com/pgrange/bash_unit/releases ) | ❌ [ <sup >since 2019</sup >] ( https://github.com/shellspec/shellspec/releases ) | ✔️ [ <sup >since 2013</sup >] ( https://github.com/rylnd/shpec/releases ) |
5252| Good documentation | ✔️ [ <sup >?</sup >] ( https://bashunit.typeddevs.com ) | ⚠ [ <sup >?</sup >] ( example-bats#documentation ) | ✔️ [ <sup >?</sup >] ( example-shunit2#documentation ) | ✔️ [ <sup >?</sup >] ( example-bash_unit#documentation ) | ✔️ [ <sup >?</sup >] ( example-shellspec#documentation ) | ✔️ [ <sup >?</sup >] ( example-shpec#documentation ) |
0 commit comments