Modernized build tooling

This commit is contained in:
2025-08-01 05:00:24 +00:00
committed by Your Name
parent 8a93f794d6
commit f7a5d26c41
71 changed files with 6685 additions and 813 deletions
+50
View File
@@ -0,0 +1,50 @@
# Behaviour Specifications
All features are documented as Gherkin scenarios that serve as both tests and documentation.
## CLI Features
### Default Greeting
```gherkin
Scenario: Default greeting
When I run "python -m boilerplate"
Then the exit code should be 0
And the output should contain "Hello, World!"
```
### Custom Name Greeting
```gherkin
Scenario: Custom name greeting
When I run "python -m boilerplate --name Alice"
Then the exit code should be 0
And the output should contain "Hello, Alice!"
```
### Multiple Greetings
```gherkin
Scenario: Multiple greetings
When I run "python -m boilerplate --count 3"
Then the exit code should be 0
And the output should contain "Hello, World!" 3 times
```
## Fuzz Testing
We use Hypothesis to ensure our CLI handles edge cases:
```gherkin
@hypothesis
Scenario: Fuzz test greeting names
When I fuzz test the CLI with random names
Then all invocations should succeed
```
This runs 1000+ test cases with randomly generated inputs including:
- Empty strings
- Unicode characters
- Emojis
- Very long strings
- Special characters