Paul Shryock
I bring a deep expertise across a wide range of programming languages and technologies, supported by exceptionally strong fundamentals in software design patterns, engineering best practices, and development methodologies. I consistently stay current with emerging tools and frameworks while maintaining a thoughtful and pragmatic approach to adopting new technologies. The code I produce is always high quality, well reasoned, thoroughly documented, and built with long-term maintainability in mind.
Lifecycle hooks are on the roadmap as well.
- beforeAll / beforeEach
- afterAll / afterEach
When I run git tag I want to include certain untracked files in the .zip file created by git archive.
How do I do it?
Best v0.0.6 is now available to install via Homebrew!
Installation instructions: https://codeberg.org/paulshryock/best
Best is a Bash testing framework with a focus on simplicity, influenced by Jest and Pest.
- Familiar API
- Bash-native, no dependencies
- No ads, no tracking, no telemetry, no "AI"
If you try it out, let me know what you think. I'm still iterating on the API and it will likely change quite a bit. I will also be building out many more assertions similar to Jest and Pest.
As I add more expectations and modifiers like "not" or "and", I'm starting to hit the limits of this API and thinking I should split up tests into multiple function calls instead of a single function call followed by many parameters.
So instead of this tests where it's all on one line:
it "should compare two numbers" expect 1 to_be 1
It would become this, where each function call is separated by a semicolon or line:
it "should compare two numbers"; expect 1; to_be 1
Just released Best v0.1.7, and this includes a second expectation, to_throw.
So now these are the type of tests you can write:
it "should compare two values" expect 1 to_be 1
it "should throw" expect $([[ 1 == 2 ]]) to_throw
This will also make it easier to break up the test runner into three phases, which I think is pretty typical for any test runner:
- Gather the test cases
- Execute the tests
- Format and display all of the output
I'm also planning to remove enddescribe, and instead follow describe with brackets.
So instead of this:
describe "number comparison"
it "should compare numbers"; expect 1; to_be 1
enddescribe
It will become this:
describe "number comparison"
{
it "should compare numbers"; expect 1; to_be 1
}