Release 0.14
🐛 Bug fixes
🏗️ New features
Logger (JUnit XML)
- Docs: Command line: Logging
- PR: #279
./bashunit -l|--log-junit <log.xml>
Create a report XML file that follows the JUnit XML format and contains information about the test results of your bashunit tests.
![](/imgs/2024-07-14/log-junit-demo.png)
Report HTML
- Docs: Command line: Report
- PR: #281
./bashunit -r|--report-html <report.html>
Create a report HTML file that contains information about the test results of your bashunit tests.
![](/imgs/2024-07-14/report-html-demo.png)
Debug mode
- Docs: Command line: Debug
- PR: #290
./bashunit --debug
Enables a shell mode in which all executed commands are printed to the terminal. Printing every command as executed may help you visualize the script's control flow if it is not working as expected.
![](/imgs/2024-07-14/debug-demo.png)
Custom asserts
- Docs: Custom asserts
- PR: #276
You can extend the language by building your custom assertions. It is ideal for custom domain assertions, which don't need to be in the core library.
# Your custom assert using the bashunit facade
function assert_foo() {
local actual="$1"
if [[ "foo" != "$actual" ]]; then
bashunit::assertion_failed "foo" "$actual"
return
fi
bashunit::assertion_passed
}
# Your test using your custom assert
function test_assert_foo_passed() {
assert_foo "foo"
}
Checksum validation
- Docs: Installation: Verify
- PR: #278 #287
Security is an important aspect of FOSS. Therefore, we will help ensure that there is an easy way to validate the executable for each official release by publishing the SHA-256 hash in a file and on the GitHub release page.
🌾 Miscellaneous
- Enable strict mode #239 #241 #285
- Add
dump
anddd
functions for local development debugging #286 - Improve build #289
See the full changelog in GitHub