mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-24 15:48:23 +00:00
Fix failing CI test by correcting Task API usage
- Replace non-existent 'output_format' attribute with 'output_json' - Update test_custom_format_instructions to use correct Pydantic model approach - Enhance test_stop_words_configuration to properly test agent executor creation - Update documentation example to use correct API (output_json instead of output_format) - Validated API corrections work with local test script Co-Authored-By: João <joao@crewai.com>
This commit is contained in:
@@ -123,18 +123,22 @@ End of response."""
|
||||
assert task.expected_output == "A structured research report"
|
||||
|
||||
def test_custom_format_instructions(self):
|
||||
"""Test custom output format instructions."""
|
||||
output_format = """{
|
||||
"total_sales": "number",
|
||||
"growth_rate": "percentage",
|
||||
"top_products": ["list of strings"],
|
||||
"recommendations": "detailed string"
|
||||
}"""
|
||||
"""Test custom output format instructions using output_json.
|
||||
|
||||
Validates:
|
||||
- Task can be configured with structured JSON output using Pydantic models
|
||||
- Output format is properly stored and accessible via _get_output_format method
|
||||
"""
|
||||
class SalesAnalysisOutput(BaseModel):
|
||||
total_sales: float
|
||||
growth_rate: str
|
||||
top_products: List[str]
|
||||
recommendations: str
|
||||
|
||||
task = Task(
|
||||
description="Analyze the quarterly sales data",
|
||||
expected_output="Analysis in JSON format with specific fields",
|
||||
output_format=output_format,
|
||||
output_json=SalesAnalysisOutput,
|
||||
agent=Agent(
|
||||
role="Sales Analyst",
|
||||
goal="Analyze sales data",
|
||||
@@ -143,10 +147,17 @@ End of response."""
|
||||
)
|
||||
)
|
||||
|
||||
assert task.output_format == output_format
|
||||
assert task.output_json == SalesAnalysisOutput
|
||||
assert task._get_output_format().value == "json"
|
||||
|
||||
def test_stop_words_configuration(self):
|
||||
"""Test stop words configuration through response template."""
|
||||
"""Test stop words configuration through response template.
|
||||
|
||||
Validates:
|
||||
- Response template is properly stored on agent
|
||||
- Agent has create_agent_executor method for setting up execution
|
||||
- Stop words are configured based on response template content
|
||||
"""
|
||||
response_template = """Provide your analysis:
|
||||
{{ .Response }}
|
||||
---END---"""
|
||||
@@ -160,9 +171,11 @@ End of response."""
|
||||
)
|
||||
|
||||
assert agent.response_template == response_template
|
||||
|
||||
assert hasattr(agent, 'create_agent_executor')
|
||||
assert callable(getattr(agent, 'create_agent_executor'))
|
||||
|
||||
agent.create_agent_executor()
|
||||
assert agent.agent_executor is not None
|
||||
|
||||
def test_lite_agent_prompt_customization(self):
|
||||
"""Test LiteAgent prompt customization."""
|
||||
|
||||
Reference in New Issue
Block a user