Modernized build tooling
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user