#!/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()