Feature: POST-based diagram generation with local caching #2
99
TESTING_QUICKSTART.md
Normal file
99
TESTING_QUICKSTART.md
Normal file
@@ -0,0 +1,99 @@
|
||||
# Quick Test Guide
|
||||
|
||||
Quick reference for running tests in the vgui-cicd project.
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
```bash
|
||||
# Run all tests
|
||||
python manage.py test
|
||||
|
||||
# Or use the convenient runner
|
||||
python run_tests.py all
|
||||
```
|
||||
|
||||
## 📋 Common Commands
|
||||
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `python run_tests.py all` | Run all tests with verbose output |
|
||||
| `python run_tests.py cache` | Run diagram cache tests only |
|
||||
| `python run_tests.py render` | Run rendering tests only |
|
||||
| `python run_tests.py commands` | Run management command tests |
|
||||
| `python run_tests.py coverage` | Run tests with coverage report |
|
||||
| `python run_tests.py fast` | Run with fail-fast (stops at first failure) |
|
||||
|
||||
## 🎯 Run Specific Tests
|
||||
|
||||
```bash
|
||||
# Test a specific module
|
||||
python manage.py test diagramm_proxy
|
||||
|
||||
# Test a specific test case
|
||||
python manage.py test abschnitte.tests.RenderTextabschnitteTestCase
|
||||
|
||||
# Test a specific method
|
||||
python manage.py test abschnitte.tests.RenderTextabschnitteTestCase.test_render_diagram_success
|
||||
```
|
||||
|
||||
## 📊 Coverage Report
|
||||
|
||||
```bash
|
||||
# Generate coverage report
|
||||
python run_tests.py coverage
|
||||
|
||||
# Or manually
|
||||
pip install coverage
|
||||
coverage run --source='.' manage.py test
|
||||
coverage report
|
||||
coverage html # Creates htmlcov/index.html
|
||||
```
|
||||
|
||||
## ✅ What's Tested
|
||||
|
||||
### Diagram Caching (`diagramm_proxy/test_diagram_cache.py`)
|
||||
- Hash computation ✓
|
||||
- Cache hit/miss ✓
|
||||
- HTTP errors ✓
|
||||
- Cache clearing ✓
|
||||
- Unicode support ✓
|
||||
|
||||
### Rendering (`abschnitte/tests.py`)
|
||||
- Markdown to HTML ✓
|
||||
- Lists (ordered/unordered) ✓
|
||||
- Tables ✓
|
||||
- Diagrams ✓
|
||||
- Code blocks ✓
|
||||
|
||||
### Management Commands (`abschnitte/management/commands/test_clear_diagram_cache.py`)
|
||||
- Clear all cache ✓
|
||||
- Clear by type ✓
|
||||
- Help text ✓
|
||||
|
||||
## 🐛 Debugging Failed Tests
|
||||
|
||||
```bash
|
||||
# Run with more detail
|
||||
python manage.py test --verbosity=2
|
||||
|
||||
# Stop at first failure
|
||||
python manage.py test --failfast
|
||||
|
||||
# Keep test database
|
||||
python manage.py test --keepdb
|
||||
```
|
||||
|
||||
## 📖 More Information
|
||||
|
||||
See `Documentation/TESTING.md` for complete documentation.
|
||||
|
||||
## 🎓 Test Statistics
|
||||
|
||||
- **Total Test Files**: 3
|
||||
- **Total Test Cases**: 29+
|
||||
- **Lines of Test Code**: 790+
|
||||
- **Coverage Target**: >80%
|
||||
|
||||
---
|
||||
|
||||
**Need help?** Check the full testing guide in `Documentation/TESTING.md`
|
||||
Reference in New Issue
Block a user