getting-started-with-bash-testing
bats-core
getting-started-with-bash-testing | bats-core | |
---|---|---|
2 | 24 | |
5 | 5,006 | |
- | 1.3% | |
2.5 | 8.4 | |
7 months ago | 9 days ago | |
Shell | Shell | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
getting-started-with-bash-testing
-
Getting Started with Bash Testing with Bats
If you have questions or suggestions feel free to open a Discussion on the GitHub repository or contact me via Twitter or email.
bats-core
-
Amber – the programming language compiled to Bash
> need to know of a million tiny gotchas to implement even the simplest task safely and portably
While this is clearly exaggeration, I'm not sure I find much merit in the argument.
C is full of gotchas, footguns, and a tremendous threat vector. But it is also the standard for many uses.
Yes, bash has legacy cruft, and potentially confusing ways of doing things. But for the realm in which it operates, it is extremely effective. We can make an argument for what we believe the perfect shell scripting language would be--but that doesn't exist. Bash is the current tool for addressing this category of problems.
The intention of this bullet point was to illustrate that just as I wouldn't work in an industry/role requiring C tools, and instead turn to some weird, novel, riddled-with-problems transpiler... I'd just learn C.
(P.S., bats[0] and shellcheck[1] address many problems noted in this thread.)
[0] https://github.com/bats-core/bats-core
- BATS 1.11.0 released
-
Test Anything Protocol (Tap)
I use Bats which is TAP-compliant (https://github.com/bats-core/bats-core) at work to test CIS Benchmark at servers, it's amazing.
- Bashunit
-
How to get code coverage data out of integration tests
I'm working on a project that utilizes the standard Rust unit tests for some of its tests. However, most of the testing is done through integration tests with Bats (https://github.com/bats-core/bats-core). The Bats tests just run the binary. Is it possible to get code coverage data out of these tests somehow?
-
First time writing bash scripts for work, not sure if this is true elsewhere
There's Bat for automated bash testing. Used it a couple of times! https://github.com/bats-core/bats-core
-
Integration testing docs in GitHub Actions
Bats (Bash Automated Testing System) plus assertion libraries for kubectl
-
Unix bash scripting versus Python - any resources out there for comparisons?
Bash has a testing library. I think it's called BATS (not builtin though).
-
Testing Terraform infra - terratest alternatives?
I'm considering something like BATS, but maybe there are other specialized tools? Ofc I could just write some bash myself and add to that as the time goes on, but there has to be a better way.
-
asdf banned_commands
If you were as confused as I was where "run" is defined and how "output" gets set, and what the heck the bats extension is:
(1) and (2) are answered here:
https://github.com/bats-core/bats-core/blob/master/lib/bats-...
(3) bash automatic testing system.
What are some alternatives?
git-auto-commit-action - Automatically commit and push changed files back to GitHub with this GitHub Action for the 80% use case.
shunit2 - shUnit2 is a xUnit based unit test framework for Bourne based shell scripts.
bash_shell_mock - A shell script mocking utility/framework for the BASH shell
bash-oo-framework - Bash Infinity is a modern standard library / framework / boilerplate for Bash
bats-support - Supporting library for Bats test helpers
bats-assert - Common assertions for Bats
shellharden - The corrective bash syntax highlighter
bashunit - A simple testing library for bash scripts. Test your bash scripts in the fastest and simplest way.
shellcheck-repl - Validation of Shell Commands Before Evaluation
sh - A shell parser, formatter, and interpreter with bash support; includes shfmt
testbeats - Publishes test results to Microsoft Teams, Google Chat & Slack