#
Testing Your Scripts
#
Static Code Analysis
The bash scripts generated by bashly are shellcheck compliant, and shfmt compliant.
This means that you can use these tools to ensure that any custom code you use in your script, is also valid.
Note that when testing with shfmt, you should specify an indentation of 2
spaces, and case indentation rules:
$ shfmt --diff --case-indent --indent 2 yourscript
#
Testing Frameworks
When your scripts grow more elaborate, you can test them with any Bash testing framework you prefer.
One advantage of Bashly projects is that user-developed logic usually lives in
separate files under src. This makes it easier to test only the unit under
test by sourcing the relevant file directly, instead of invoking the entire
generated script for every test.
This approach works well for unit tests around helper functions, command logic, and edge cases, while higher-level integration tests can still exercise the generated CLI as an end user would.