unittest既可以全部运行,也可以选择某条用例执行
时间: 2024-01-05 21:03:12 浏览: 96
是的,`unittest`既可以全部运行,也可以选择某条用例执行。下面分别介绍两种方式:
1. 全部运行
使用`unittest`运行所有测试用例非常简单,只需在命令行中运行测试文件即可,例如:
```
python test_module.py
```
其中,`test_module.py`是包含测试用例的Python文件名,`unittest`会自动扫描该文件中所有以`test_`开头的函数并执行。如果测试用例全部通过,则输出`OK`,否则输出错误信息。
2. 选择某条用例执行
如果只想运行某条测试用例,可以使用`unittest`中的`TestLoader`和`TextTestRunner`类。具体步骤如下:
(1)导入`unittest`模块,并定义测试用例类,例如:
```python
import unittest
class TestMyFunction(unittest.TestCase):
def test_case1(self):
# 测试代码
pass
def test_case2(self):
# 测试代码
pass
```
(2)创建`TestLoader`对象,使用`loadTestsFromName`方法加载要执行的测试用例,例如:
```python
loader = unittest.TestLoader()
suite = loader.loadTestsFromName('test_case1', TestMyFunction)
```
其中,`loadTestsFromName`方法的第一个参数是要执行的测试用例名称,第二个参数是测试用例所在的类。
(3)创建`TextTestRunner`对象,使用`run`方法执行测试用例,例如:
```python
runner = unittest.TextTestRunner()
runner.run(suite)
```
这样,就只会执行名为`test_case1`的测试用例了。如果要执行多个测试用例,可以多次调用`loadTestsFromName`方法,并将返回的测试用例添加到同一个测试套件对象中即可。
阅读全文