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

运行Python unittest时如何跳过testutils.py测试工具文件?

解决unittest扫描testutils.py导致测试失败的方法

以下几种方法都能帮你避开这个问题,按需选择即可:

  • 直接重命名文件(最简单)
    把testutils.py改成不带test开头的名字,比如django_test_utils.py或者testcase_utils.py。因为python -m unittest默认只会扫描命名符合test*.py的文件,改名后就不会被自动识别成测试文件了。

  • 指定测试文件匹配规则
    用unittest discover命令时,通过--pattern参数只匹配真正的测试文件,比如只跑以test_开头的测试文件:

    python -m unittest discover --pattern "test_*.py"
    

    这样testutils.py因为不符合test_*.py的模式,就会被忽略。

  • 用Django自带的测试命令并配置规则
    如果是用Django的manage.py test,可以在项目的settings.py里添加配置,指定测试文件的匹配规则:

    TEST_DISCOVER_PATTERN = "test_*.py"
    

    之后运行python manage.py test时,只会扫描符合这个模式的文件,testutils.py就不会被加载。另外也可以直接指定要运行的测试模块/文件,比如:

    python manage.py test myapp.tests
    

    这样只会跑myapp/tests目录下的测试,忽略其他目录里的testutils.py。

  • 调整文件存放位置
    把testutils.py移到非测试目录下,比如放到myapp/utils/目录里,命名成test_case_utils.py。这样unittest默认扫描测试目录时,根本不会碰这个文件,其他应用要导入的话,直接from myapp.utils.test_case_utils import XXX就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 14:01:12