How prathameshyawalkar15/agentic-test-generator works
This repository turns Markdown requirements into generated BDD scenarios, then binds those scenarios to placeholder steps for pytest-bdd execution and reporting. The main generation flow is implemented in src/orchestrator.py; requirement parsing, condition selection, and Gherkin generation are separate stages. The README documents HTML/Allure reports and GitHub issue reporting, but their implementation is not shown in the sampled source. The Ollama client is present, though the sampled orchestrator does not call it during requirement processing.
Main entry points: orchestrator.py Generation orchestrator · features Gherkin features · generate_steps.py Step generator · 3_report_results.yml Report workflow
Components 15
Test generation
- Markdown requirements
requirements - Generation orchestrator
src/orchestrator.py - Requirement reader
src/requirement_reader.py - Condition generator
src/test_condition_generator.py - Gherkin generator
src/gherkin_generator.py
Test execution
- Gherkin features
features - Step generator
src/generate_steps.py - pytest-bdd runner
- Generated step definitions
Result reporting
- Test reports
- Report workflow
.github/workflows/3_report_results.yml
LLM integration
- Ollama client
src/llm_client.py
Other components
- Requirement author
- GitHub issues
- Ollama service
Connections 14
- Requirement author → Markdown requirements: writes
- Generation orchestrator → Requirement reader: reads
- Requirement reader → Markdown requirements: reads
- Generation orchestrator → Condition generator: generates
- Generation orchestrator → Gherkin generator: generates
- Gherkin generator → Gherkin features: writes
- Step generator → Gherkin features: reads
- Step generator → Generated step definitions: generates
- pytest-bdd runner → Gherkin features: executes
- pytest-bdd runner → Generated step definitions: loads
- pytest-bdd runner → Test reports: produces
- Report workflow → Test reports: archives
- Report workflow → GitHub issues: creates issue
- Ollama client → Ollama service: requests generation