You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions运行Django测试未识别到测试用例问题求助

Django GitHub Action 测试识别失败排查方案

核心问题定位与修正

1. 服务容器配置错误

你当前工作流中PostgreSQL服务的访问地址配置不匹配:

  • GitHub Actions中服务容器的访问hostname就是你定义的服务标签名,你配置的服务标签是db,但测试步骤的环境变量里写的POSTGRES_HOST: postgres是错误值,会导致Django无法连接数据库,部分场景下会静默跳过测试执行。
  • 需补全PostgreSQL完整配置参数,和你的Django数据库配置对齐,默认Postgres镜像的默认用户、库名都是postgres。

2. 测试用例未识别排查

本地可正常识别测试但CI返回0条测试,按优先级排查以下项:

  • 测试文件命名符合Django默认规则:以test开头,如test_views.py,且tests目录下存在__init__.py文件,被识别为Python包
  • 所有包含测试的Django应用都已加入INSTALLED_APPS配置,Django默认只会扫描已注册应用下的测试文件
  • 工作路径匹配:CI中默认在仓库根目录执行命令,建议先切换到api目录再执行测试命令,避免相对路径异常
  • 可在测试步骤前增加目录打印的调试命令,确认代码拉取完整、测试文件存在:
    pwd && ls -la ./api && ls -la ./api/*/tests/
    

3. 修正后的完整工作流配置

name: Django CI

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  tests:
    runs-on: ubuntu-latest
    # 固定Python大版本,避免最新版本和依赖不兼容
    container: python:3.11
    
    services:
      db:
        # 固定PostgreSQL版本,和本地开发使用的版本对齐,避免兼容性问题
        image: postgres:15
        env:
          POSTGRES_DB: postgres
          POSTGRES_USER: postgres
          POSTGRES_PASSWORD: password
        options: >-
          --health-cmd pg_isready
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5

    steps:
      - name: Check out repository code
        uses: actions/checkout@v4

      - name: Install Dependencies
        run: |
          python -m pip install --upgrade pip
          pip install -r api/requirements.txt

      - name: Run Tests
        run: |
          cd api && python manage.py test
        env:
          POSTGRES_HOST: db
          POSTGRES_PORT: 5432
          POSTGRES_DB: postgres
          POSTGRES_USER: postgres
          POSTGRES_PASSWORD: password
          # 如需指定CI专用配置文件,可新增环境变量:
          # DJANGO_SETTINGS_MODULE: api.settings.ci

内容的提问来源于stack exchange,提问作者Yosuf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 04:48:02