test_new_question_generation.py 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. 测试生成新题目,验证difficulty字段是否正确设置
  5. """
  6. import requests
  7. import json
  8. def test_generate_questions():
  9. base_url = "http://localhost:8080"
  10. print("=== 测试生成新题目 ===")
  11. # 1. 先创建一个新目标
  12. create_goal_url = f"{base_url}/api/goals"
  13. goal_data = {
  14. "userId": 1,
  15. "subject": "数学",
  16. "goalType": "选择",
  17. "difficulty": "中等",
  18. "totalQuantity": 2,
  19. "goalContent": "测试difficulty字段的题目生成"
  20. }
  21. print(f"创建新目标: {goal_data}")
  22. create_response = requests.post(create_goal_url, json=goal_data)
  23. if create_response.status_code == 200:
  24. create_result = create_response.json()
  25. if create_result.get('code') == 200:
  26. goal_id = create_result['data']['goalId']
  27. print(f"✅ 目标创建成功,ID: {goal_id}")
  28. # 2. 等待一下让自动生成题目完成
  29. import time
  30. print("等待5秒让题目生成完成...")
  31. time.sleep(5)
  32. # 3. 获取生成的题目
  33. questions_url = f"{base_url}/api/ai/questions/{goal_id}"
  34. questions_response = requests.get(questions_url)
  35. if questions_response.status_code == 200:
  36. questions_result = questions_response.json()
  37. if questions_result.get('code') == 200:
  38. questions = questions_result['data']
  39. print(f"\n✅ 获取到 {len(questions)} 道题目")
  40. # 检查每道题目的difficulty字段
  41. for i, question in enumerate(questions, 1):
  42. difficulty = question.get('difficulty')
  43. print(f"\n题目 {i}:")
  44. print(f" - detailId: {question.get('detailId')}")
  45. print(f" - difficulty: {difficulty}")
  46. print(f" - 题目内容: {question.get('question', '')[:50]}...")
  47. if difficulty:
  48. print(f" ✅ difficulty字段正常: {difficulty}")
  49. else:
  50. print(f" ❌ difficulty字段为空或null")
  51. else:
  52. print(f"❌ 获取题目失败: {questions_result.get('message')}")
  53. else:
  54. print(f"❌ 获取题目请求失败: {questions_response.status_code}")
  55. print(f"响应内容: {questions_response.text}")
  56. else:
  57. print(f"❌ 创建目标失败: {create_result.get('message')}")
  58. else:
  59. print(f"❌ 创建目标请求失败: {create_response.status_code}")
  60. print(f"响应内容: {create_response.text}")
  61. if __name__ == "__main__":
  62. test_generate_questions()