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

如何在单个Python测试文件中按测试方法名匹配运行子集单元测试

按方法名模式运行同一文件内的unittest测试

当然可以实现按方法名匹配运行测试,不需要将每个测试单独放在文件中,下面是两种常用方法:

方法一:直接指定类加方法名通配符

通过命令行直接指定测试文件、测试类,再结合方法名的通配符匹配:

  • 在Linux/macOS的bash/zsh等shell中,直接执行:
    python -m unittest test.TestClass.test_1*
    
    shell会自动展开test_1*通配符,匹配所有以test_1开头的测试方法。
  • 在Windows的CMD中,需要用双引号包裹通配符部分,避免CMD提前解析:
    python -m unittest "test.TestClass.test_1*"
    

方法二:使用-k参数匹配测试名称(Python 3.7+)

unittest从Python 3.7开始支持-k参数,它可以根据测试名称(包含类名和方法名)的子串或正则模式匹配测试:

  • 匹配所有名称包含test_1的测试:
    python -m unittest test -k "test_1"
    
  • 更精确地匹配以test_1开头的方法(用正则锚点^):
    python -m unittest test -k "^test_1"
    
    这里的test指定了要运行的测试文件,确保只针对test.py中的测试。

注意:-p参数仅用于匹配文件名,而-k参数才是针对测试方法/类名的匹配,正好满足你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 21:51:28