🔍 如何查看单元测试错误详情

📊 当前状态

  • ✅ Validate Code: 成功
  • ✅ Lint & Format: 成功
  • Run Tests (unit): 失败(退出代码1)
  • ⚠️ Run Tests (integration): 被取消(因为单元测试失败)
  • ✅ Run Tests (e2e): 成功

🔍 查看详细错误信息

方法1: 在GitHub Actions页面查看(推荐)

  1. 点击失败的步骤

    • 在工作流运行页面,点击 "Run Tests (unit)"
    • 会跳转到详细的步骤页面
  2. 展开测试输出

    • 找到 "Run unit tests" 步骤
    • 点击展开查看详细日志
  3. 查找失败信息

    • 查找 FAILED 标记
    • 查找 ERROR 标记
    • 查看失败的测试用例名称
    • 查看错误堆栈信息
  4. 复制错误信息

    • 复制失败的测试名称(例如:test_something
    • 复制错误消息
    • 复制错误堆栈

方法2: 本地运行测试

在本地运行测试,查看详细错误:

cd d:\Mises\mbe-monorepo

# 1. 安装依赖
pip install -r shared/requirements.txt
pip install -r private/core/requirements.txt
pip install -r private/platform/requirements.txt
pip install -r tests/requirements.txt

# 2. 设置环境变量
export DATABASE_URL="postgresql+asyncpg://mbe:test_password@localhost:5432/mbe_test"
export REDIS_URL="redis://localhost:6379/15"
export PYTHONPATH="shared/src:private/core/src:private/platform/src"

# 3. 运行单元测试
pytest tests/unit/ -v -m unit

# 或者运行特定的测试文件
pytest tests/unit/test_user_service.py -v

方法3: 查看测试文件

检查单元测试文件,看看是否有明显的问题:

# 列出所有单元测试文件
ls tests/unit/

# 查看特定测试文件
cat tests/unit/test_user_service.py

📋 单元测试文件列表

根据代码库,有以下单元测试文件:

  • test_auth_service.py - 认证服务测试
  • test_engine.py - 引擎测试
  • test_pagination.py - 分页测试
  • test_resilience.py - 弹性测试
  • test_terminals.py - 终端测试
  • test_terminals_adapters.py - 终端适配器测试
  • test_terminals_expert_binding.py - 终端专家绑定测试
  • test_token_billing.py - Token计费测试
  • test_training.py - 训练测试
  • test_training_advanced.py - 高级训练测试
  • test_user_models.py - 用户模型测试
  • test_user_service.py - 用户服务测试
  • test_utils.py - 工具函数测试
  • test_vision.py - 视觉测试

🛠️ 常见测试失败原因

原因1: 测试代码问题

  • 测试用例本身有bug
  • 断言失败
  • 测试数据不正确

原因2: 代码变更

  • 最近修改的代码破坏了测试
  • API接口变更
  • 函数签名变更

原因3: 依赖问题

  • 缺少测试依赖
  • 依赖版本不匹配
  • 导入路径错误

原因4: 环境问题

  • 数据库连接问题
  • 环境变量缺失
  • 事件循环问题(async测试)

原因5: 配置问题

  • conftest.py 配置问题
  • 测试标记(marker)问题
  • 测试路径问题

🔧 快速修复方案

方案1: 查看GitHub Actions日志

最重要:先查看错误日志才能知道如何修复。

  1. 点击 "Run Tests (unit)" 步骤
  2. 展开测试输出
  3. 查找 FAILEDERROR
  4. 复制错误信息

方案2: 本地运行测试

cd d:\Mises\mbe-monorepo

# 运行所有单元测试
pytest tests/unit/ -v -m unit

# 运行特定测试文件
pytest tests/unit/test_user_service.py -v

# 运行特定测试用例
pytest tests/unit/test_user_service.py::test_specific_function -v

# 显示详细输出
pytest tests/unit/ -v -m unit -s

方案3: 检查最近的代码变更

# 查看最近的提交
git log --oneline -10

# 查看最近的代码变更
git diff HEAD~5 HEAD -- tests/unit/
git diff HEAD~5 HEAD -- shared/src/
git diff HEAD~5 HEAD -- private/core/src/
git diff HEAD~5 HEAD -- private/platform/src/

📋 下一步操作

立即操作

  1. 点击失败的测试步骤

    • 在工作流运行页面,点击 "Run Tests (unit)"
    • 查看详细错误日志
  2. 告诉我错误信息

    • 失败的测试用例名称
    • 错误消息内容
    • 错误堆栈信息(如果有)
  3. 根据错误修复

    • 我会根据错误信息提供修复方案

🆘 如果无法查看错误

如果GitHub Actions页面无法查看详细日志:

  1. 尝试本地运行测试

    pytest tests/unit/ -v -m unit
    
  2. 检查测试文件

    • 查看测试文件是否有语法错误
    • 检查导入是否正确
  3. 检查测试配置

    • 查看 conftest.py 配置
    • 检查测试标记(marker)

📚 相关文档


请点击 "Run Tests (unit)" 步骤,查看详细错误日志,然后告诉我具体的错误信息!