You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Setup test environment (optional, for running integration tests)
42
-
uv run --with-requirements setup-requirements.txt python setup_test_env.py # Creates .env.test
43
-
44
41
# Reset data (development)
45
42
sudo rm -rf backends/advanced/data/
46
43
```
@@ -71,10 +68,6 @@ cd backends/advanced
71
68
# Requires .env file with DEEPGRAM_API_KEY and OPENAI_API_KEY
72
69
cp .env.template .env # Configure API keys
73
70
74
-
# Optional: Setup test environment with test-specific credentials
75
-
# (wizard.py prompts for this, or run manually)
76
-
uv run --with-requirements setup-requirements.txt python setup_test_env.py
77
-
78
71
# Run full integration test suite
79
72
./run-test.sh
80
73
@@ -408,6 +401,31 @@ For detailed technical documentation, see:
408
401
- **[@docs/speaker-recognition.md](docs/speaker-recognition.md)**: Advanced analysis and live inference features
409
402
- **[@docs/distributed-deployment.md](docs/distributed-deployment.md)**: Multi-machine deployment with Tailscale
410
403
404
+
## Robot Framework Testing
405
+
406
+
**IMPORTANT: When writing or modifying Robot Framework tests, you MUST follow the testing guidelines.**
407
+
408
+
Before writing any Robot Framework test:
409
+
1. **Read [@tests/TESTING_GUIDELINES.md](tests/TESTING_GUIDELINES.md)** for comprehensive testing patterns and standards
410
+
2. **Check [@tests/tags.md](tests/tags.md)** for approved tags - ONLY 11 tags are permitted
411
+
3. **SCAN existing resource files** for keywords - NEVER write code that duplicates existing keywords
412
+
4. **Follow the Arrange-Act-Assert pattern** with inline verifications (not abstracted to keywords)
413
+
414
+
Key Testing Rules:
415
+
- **Check Existing Keywords FIRST**: Before writing ANY test code, scan relevant resource files (`websocket_keywords.robot`, `queue_keywords.robot`, `conversation_keywords.robot`, etc.) for existing keywords
416
+
- **Tags**: ONLY use the 11 approved tags from tags.md, tab-separated (e.g., `[Tags] infra audio-streaming`)
417
+
- **Verifications**: Write assertions directly in tests, not in resource keywords
418
+
- **Keywords**: Only create keywords for reusable setup/action operations AFTER confirming no existing keyword exists
419
+
- **Resources**: Always check existing resource files before creating new keywords or duplicating logic
420
+
- **Naming**: Use descriptive names that explain business purpose, not technical implementation
421
+
422
+
**DO NOT:**
423
+
- Write inline code without checking if a keyword already exists for that operation
424
+
- Create custom tags (use only the 11 approved tags)
425
+
- Abstract verifications into keywords (keep them inline in tests)
426
+
- Use space-separated tags (must be tab-separated)
427
+
- Skip reading the guidelines before writing tests
428
+
411
429
## Notes for Claude
412
430
Check if the src/ is volume mounted. If not, do compose build so that code changes are reflected. Do not simply run `docker compose restart` as it will not rebuild the image.
413
431
Check backends/advanced/Docs for up to date information on advanced backend.
0 commit comments