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

测试类位于其他目录,执行unittest时返回0测试用例

解决unittest拆分测试类后未执行的问题

核心原因

你的tests.py未显式导入其他文件中的测试类,unittest默认不会自动扫描未导入的测试用例;另外可能存在命名规范不符合要求的情况。

具体解决步骤

  • 显式导入测试类
    在tests.py中导入存放测试类的文件,比如测试类在test_myfeature.py里,需要添加导入语句:

    import unittest
    # 导入你的测试类
    from test_myfeature import MyFeatureTestCase
    
    if __name__ == '__main__':
        unittest.main()
    

    确保导入路径正确,如果测试类在子目录,需要给子目录添加__init__.py文件,将其设为可导入模块。

  • 遵循命名规范

    • 测试文件名建议以test_开头(unittest discover默认扫描这类文件),如果要用自定义命名,需在命令中用-p指定匹配规则,比如python -m unittest discover -s src -p "*_tests.py"。
    • 测试方法必须以test_为前缀,比如test_calculate,不能用驼峰式命名(如testCalculate),否则不会被识别。
  • 验证测试类本身的有效性
    先单独运行测试类所在文件,确认测试能正常执行:

    python -m unittest src/test_myfeature.py
    

    如果这条命令能运行测试,说明问题出在tests.py的导入或discover的配置上。

  • 调整discover命令(可选)
    若不想修改tests.py,可以直接让discover扫描所有符合规范的测试文件,无需指定tests.py:

    python -m unittest discover -s src
    

    这条命令会自动扫描src目录下所有test_*.py文件中的测试用例。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 11:55:59