test(examples/survey): add TaskGroup testing reference (DOCS-1225)#5557
Open
test(examples/survey): add TaskGroup testing reference (DOCS-1225)#5557
Conversation
Add examples/survey/test_survey_agent.py demonstrating the TaskGroup testing best practices documented at https://docs.livekit.io/agents/logic/tasks/#testing-task-groups: - userdata initialized on the AgentSession - transition delay after sess.start() and between sub-tasks - multi-turn driving until expected tools fire (sess.history walk) - json.loads on item.arguments for arg-level assertions - no assertions on startup output - isolation tests per AgentTask plus a full-flow TaskGroup test Related to livekit/agents-js#1148 and livekit/web#3585. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Comment on lines
+56
to
+62
| from .survey_agent import ( | ||
| BehavioralTask, | ||
| CommuteTask, | ||
| ExperienceTask, | ||
| IntroTask, | ||
| Userdata, | ||
| ) |
Contributor
There was a problem hiding this comment.
π΄ Missing __init__.py makes relative import fail, preventing the test from running
The test file uses a relative import from .survey_agent import (...) at line 56, but the examples/survey/ directory has no __init__.py file. Without it, Python does not recognize the directory as a package, and the relative import fails immediately with ImportError: attempted relative import with no known parent package. This was confirmed by direct reproduction. The entire test file is non-functional β none of the five tests can execute as documented (uv run pytest examples/survey/test_survey_agent.py).
Prompt for agents
The test file at examples/survey/test_survey_agent.py uses a relative import (from .survey_agent import ...) but examples/survey/ is not a Python package β it has no __init__.py. This causes ImportError: attempted relative import with no known parent package when pytest tries to collect the test.
To fix this, add an empty examples/survey/__init__.py file. This makes the directory a proper Python package so the relative import can resolve. Note that the root pytest config (pyproject.toml) already has --ignore=examples in addopts, so this __init__.py won't cause the main test suite to accidentally collect tests from examples/.
Was this helpful? React with π or π to provide feedback.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add examples/survey/test_survey_agent.py demonstrating the TaskGroup testing best practices documented at
https://docs.livekit.io/agents/logic/tasks/#testing-task-groups:
Related to livekit/agents-js#1148 and livekit/web#3585.