run-tests.sh 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #!/bin/bash
  2. echo "========================================="
  3. echo " 学生知识图谱测试套件运行器"
  4. echo "========================================="
  5. echo ""
  6. # 颜色定义
  7. RED='\033[0;31m'
  8. GREEN='\033[0;32m'
  9. YELLOW='\033[1;33m'
  10. BLUE='\033[0;34m'
  11. NC='\033[0m' # No Color
  12. # 切换到项目目录
  13. cd /Volumes/T9/code/math/apis/FilamentAdmin
  14. echo -e "${BLUE}[1/5] 清理缓存...${NC}"
  15. php artisan optimize:clear
  16. if [ $? -eq 0 ]; then
  17. echo -e "${GREEN}✓ 缓存清理完成${NC}"
  18. else
  19. echo -e "${RED}✗ 缓存清理失败${NC}"
  20. exit 1
  21. fi
  22. echo ""
  23. echo -e "${BLUE}[2/5] 生成自动加载文件...${NC}"
  24. composer dump-autoload
  25. if [ $? -eq 0 ]; then
  26. echo -e "${GREEN}✓ 自动加载文件生成完成${NC}"
  27. else
  28. echo -e "${RED}✗ 自动加载文件生成失败${NC}"
  29. exit 1
  30. fi
  31. echo ""
  32. echo -e "${BLUE}[3/5] 运行单元测试...${NC}"
  33. echo -e "${YELLOW}测试文件: tests/Unit/StudentKnowledgeGraphTest.php${NC}"
  34. php artisan test --testsuite=Unit --filter=StudentKnowledgeGraphTest
  35. UNIT_TEST_RESULT=$?
  36. echo ""
  37. echo -e "${BLUE}[4/5] 运行服务测试...${NC}"
  38. echo -e "${YELLOW}测试文件: tests/Unit/Services/KnowledgeGraphServiceTest.php${NC}"
  39. php artisan test --testsuite=Unit --filter=KnowledgeGraphServiceTest
  40. SERVICE_TEST_RESULT=$?
  41. echo ""
  42. echo -e "${BLUE}[5/5] 运行集成测试...${NC}"
  43. echo -e "${YELLOW}测试文件: tests/Feature/StudentKnowledgeGraphIntegrationTest.php${NC}"
  44. php artisan test --testsuite=Feature --filter=StudentKnowledgeGraphIntegrationTest
  45. INTEGRATION_TEST_RESULT=$?
  46. echo ""
  47. # 汇总结果
  48. echo "========================================="
  49. echo -e "${YELLOW}测试结果汇总${NC}"
  50. echo "========================================="
  51. if [ $UNIT_TEST_RESULT -eq 0 ]; then
  52. echo -e "${GREEN}✓ 单元测试 (StudentKnowledgeGraphTest): 通过${NC}"
  53. else
  54. echo -e "${RED}✗ 单元测试 (StudentKnowledgeGraphTest): 失败${NC}"
  55. fi
  56. if [ $SERVICE_TEST_RESULT -eq 0 ]; then
  57. echo -e "${GREEN}✓ 服务测试 (KnowledgeGraphServiceTest): 通过${NC}"
  58. else
  59. echo -e "${RED}✗ 服务测试 (KnowledgeGraphServiceTest): 失败${NC}"
  60. fi
  61. if [ $INTEGRATION_TEST_RESULT -eq 0 ]; then
  62. echo -e "${GREEN}✓ 集成测试 (StudentKnowledgeGraphIntegrationTest): 通过${NC}"
  63. else
  64. echo -e "${RED}✗ 集成测试 (StudentKnowledgeGraphIntegrationTest): 失败${NC}"
  65. fi
  66. echo ""
  67. # 总体结果
  68. if [ $UNIT_TEST_RESULT -eq 0 ] && [ $SERVICE_TEST_RESULT -eq 0 ] && [ $INTEGRATION_TEST_RESULT -eq 0 ]; then
  69. echo -e "${GREEN}=========================================${NC}"
  70. echo -e "${GREEN} 🎉 所有测试通过!${NC}"
  71. echo -e "${GREEN}=========================================${NC}"
  72. exit 0
  73. else
  74. echo -e "${RED}=========================================${NC}"
  75. echo -e "${RED} ❌ 部分测试失败,请查看上方日志${NC}"
  76. echo -e "${RED}=========================================${NC}"
  77. exit 1
  78. fi