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

Github Actions在Django项目中无法发现pytest测试

Django项目GitHub Actions中pytest无法识别测试的解决方案

问题核心

本地测试正常,但GitHub Actions中无论是pytest还是原生Django测试框架都找不到测试用例,本质是测试目录未被Python识别为合法包、pytest路径扫描配置有误,或是环境加载问题导致的。

修复步骤

1. 为测试目录添加__init__.py

你的测试文件路径为PlaylistAnalyser/playlist_analyser/tests/playlist_tests.py,需在tests目录下创建一个空的__init__.py文件,让Python将该目录识别为可导入的包,否则pytest无法扫描到内部的测试文件。

2. 修正pytest.ini格式与配置

当前pytest.ini所有配置挤在一行,易引发解析错误,改为标准换行格式并添加测试路径指定:

[pytest]
DJANGO_SETTINGS_MODULE = playlist_analyser.settings
python_files = tests.py *_tests.py
testpaths = playlist_analyser/tests

testpaths参数会明确告诉pytest去哪里查找测试文件,避免在根目录下无效扫描。

3. 在GitHub Actions中指定测试路径

若上述步骤无效,直接修改Actions的测试命令,精准指向测试目录:

- name: Run Tests
  run: |
    pytest playlist_analyser/tests/ -v

4. 验证Django配置加载

测试依赖Django环境的话,可在测试前添加配置验证步骤,提前排查配置问题:

- name: Verify Django Configuration
  run: |
    python manage.py check

额外排查点

  • 确认requirements.txt中包含pytest和pytest-django,避免Actions环境缺失必要测试依赖;
  • 你的测试文件名playlist_tests.py符合*_tests.py规则,测试函数以test_开头,这部分命名规范没问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 22:02:31