12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- 测试导数题目生成功能
- """
- import requests
- import json
- def test_derivative_question_generation():
- """测试导数题目生成"""
-
- # 服务器地址
- base_url = "http://localhost:8080/api"
-
- # 1. 首先创建一个包含"导数"关键词的目标
- goal_data = {
- "userId": 1,
- "subject": "数学",
- "goalType": "选择",
- "difficulty": "中等",
- "totalQuantity": 3,
- "goalContent": "导数的基本概念和计算方法"
- }
-
- print("=== 创建导数相关目标 ===")
- print(f"请求数据: {json.dumps(goal_data, ensure_ascii=False, indent=2)}")
-
- try:
- # 创建目标
- response = requests.post(f"{base_url}/goals", json=goal_data)
- print(f"响应状态码: {response.status_code}")
- print(f"响应内容: {response.text}")
-
- if response.status_code == 200:
- result = response.json()
- if result.get('code') == 200:
- goal_id = result['data']['goalId']
- print(f"✅ 目标创建成功,goalId: {goal_id}")
-
- # 2. 获取生成的题目
- print("\n=== 获取生成的题目 ===")
- questions_response = requests.get(f"{base_url}/ai/questions/{goal_id}")
- print(f"题目响应状态码: {questions_response.status_code}")
-
- if questions_response.status_code == 200:
- questions_result = questions_response.json()
- if questions_result.get('code') == 200:
- questions = questions_result['data']
- print(f"✅ 成功获取 {len(questions)} 道题目")
-
- # 检查题目内容是否包含导数相关内容
- derivative_related = 0
- for i, question in enumerate(questions, 1):
- print(f"\n--- 题目 {i} ---")
- print(f"题目: {question['content']}")
- print(f"选项: {question.get('options', 'N/A')}")
- print(f"答案: {question['answer']}")
-
- # 检查是否为导数相关题目
- question_text = question['content'].lower()
- if any(keyword in question_text for keyword in ['导数', 'derivative', 'f\'(x)', 'dy/dx', '求导']):
- derivative_related += 1
- print("✅ 这是导数相关题目")
- else:
- print("❌ 这不是导数相关题目")
-
- print(f"\n=== 测试结果 ===")
- print(f"总题目数: {len(questions)}")
- print(f"导数相关题目数: {derivative_related}")
-
- if derivative_related > 0:
- print("✅ 导数题目生成功能正常工作!")
- else:
- print("❌ 导数题目生成功能可能存在问题")
-
- else:
- print(f"❌ 获取题目失败: {questions_result.get('message')}")
- else:
- print(f"❌ 获取题目请求失败: {questions_response.text}")
-
- else:
- print(f"❌ 目标创建失败: {result.get('message')}")
- else:
- print(f"❌ 创建目标请求失败: {response.text}")
-
- except Exception as e:
- print(f"❌ 测试过程中发生错误: {str(e)}")
- if __name__ == "__main__":
- test_derivative_question_generation()
|