test_manual_generate.py 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. 手动调用自动生成题目API测试difficulty字段
  5. """
  6. import requests
  7. import json
  8. def test_manual_generate():
  9. base_url = "http://localhost:8080"
  10. print("=== 手动调用自动生成题目API ===")
  11. # 使用刚才创建的目标ID: 2
  12. goal_id = 2
  13. # 调用自动生成题目API
  14. auto_generate_url = f"{base_url}/api/ai/auto-generate"
  15. params = {
  16. "goalId": goal_id,
  17. "subject": "数学",
  18. "goalType": "选择",
  19. "difficulty": "中等",
  20. "totalQuantity": 2,
  21. "goalContent": "测试difficulty字段的题目生成"
  22. }
  23. print(f"调用自动生成API,参数: {params}")
  24. generate_response = requests.post(auto_generate_url, params=params)
  25. if generate_response.status_code == 200:
  26. generate_result = generate_response.json()
  27. if generate_result.get('code') == 200:
  28. questions = generate_result['data']
  29. print(f"\n✅ 生成了 {len(questions)} 道题目")
  30. # 检查每道题目的difficulty字段
  31. for i, question in enumerate(questions, 1):
  32. difficulty = question.get('difficulty')
  33. print(f"\n题目 {i}:")
  34. print(f" - detailId: {question.get('detailId')}")
  35. print(f" - difficulty: {difficulty}")
  36. print(f" - 题目内容: {question.get('question', '')[:50]}...")
  37. if difficulty:
  38. print(f" ✅ difficulty字段正常: {difficulty}")
  39. else:
  40. print(f" ❌ difficulty字段为空或null")
  41. else:
  42. print(f"❌ 生成题目失败: {generate_result.get('message')}")
  43. else:
  44. print(f"❌ 生成题目请求失败: {generate_response.status_code}")
  45. print(f"响应内容: {generate_response.text}")
  46. # 再次检查数据库中的题目
  47. print("\n=== 检查数据库中的题目 ===")
  48. questions_url = f"{base_url}/api/ai/questions/{goal_id}"
  49. questions_response = requests.get(questions_url)
  50. if questions_response.status_code == 200:
  51. questions_result = questions_response.json()
  52. if questions_result.get('code') == 200:
  53. questions = questions_result['data']
  54. print(f"\n数据库中有 {len(questions)} 道题目")
  55. for i, question in enumerate(questions, 1):
  56. difficulty = question.get('difficulty')
  57. print(f"\n题目 {i} (数据库):")
  58. print(f" - detailId: {question.get('detailId')}")
  59. print(f" - difficulty: {difficulty}")
  60. print(f" - 题目内容: {question.get('question', '')[:50]}...")
  61. if difficulty:
  62. print(f" ✅ difficulty字段正常: {difficulty}")
  63. else:
  64. print(f" ❌ difficulty字段为空或null")
  65. else:
  66. print(f"❌ 获取题目失败: {questions_result.get('message')}")
  67. else:
  68. print(f"❌ 获取题目请求失败: {questions_response.status_code}")
  69. if __name__ == "__main__":
  70. test_manual_generate()