python中如何单独执行测试用例

python中如何单独执行测试用例

作者:Rhett Bai发布时间:2026-01-14阅读时长:0 分钟阅读次数:5

用户关注问题

Q
如何在Python中指定执行某个测试用例?

我有很多测试用例,想只运行其中一个特定的测试用例,该怎么操作才简单有效?

A

使用测试框架的过滤功能

在Python中,常见的测试框架如unittest或pytest都支持通过命令行参数指定运行某个测试用例。例如,针对unittest,可以使用命令python -m unittest test_module.ClassName.test_method来执行指定测试。对于pytest,可以用pytest -k 'test_method_name'运行特定测试用例。这样做能够快速定位和运行目标测试,节省时间。

Q
是否可以在Python代码内部直接运行单个测试函数?

不通过命令行,我希望写Python脚本直接运行某个测试用例,有推荐的做法吗?

A

使用unittest的TestLoader和TextTestRunner

可以在Python脚本中通过unittest.TestLoader.loadTestsFromName()加载特定的测试方法,然后用unittest.TextTestRunner运行它。例如:

import unittest
suite = unittest.TestLoader().loadTestsFromName('test_module.ClassName.test_method')
unittest.TextTestRunner().run(suite)

这样能够灵活地控制测试执行,提高测试设计的可操控性。

Q
如何在pytest框架中聚焦执行某个测试用例?

pytest有很多测试用例,我想聚焦执行其中一个,不想影响其他测试,应该怎么写命令?

A

借助pytest的-k参数实现

pytest支持使用-k参数根据表达式筛选测试用例,如pytest -k 'test_function_name'。这条命令会只运行测试函数名中包含test_function_name的测试。该方式非常方便进行调试和单个测试排查,避免了全部执行带来的时间和资源浪费。