安装
安装基础包 pytest,pytest-asyncio
pip install pytest pytest-asyncio
测试:
pytest -s -v ./python-code/do-async/aiohttp_session_pytest.py
书写规范
- 类名必须以
Test
开头 - 方法和函数名必须以
test
开头
class TestAddFunc(object): # 测试用例的类名必须以 Test 为开头
def test_01(self): # 方法名和函数名必须以 test 为开头
print(add(10,20))
def test_02(self):
print(add(10, 20))
def test_03(self):
print(add(10, 20))
运行
命令行运行:
格式:
pytest -s -v 文件名
# -s:输出测试用例中的print打印的信息
# -v: 输出测试用例的类名和方法名
# -x: 一旦发现测试用例失败,立即停止运行
# no:warnings: 不显示警告
通过Pycharm 运行:
直接点击左侧的绿色箭头,就能运行单元测试
通过pytest.main()运行:
格式:
# pytest.main(["模块文件名::类名::方法名字","参数"])
pytest.main(["./demo/pytest_01.py","-sv"])
# pytest.main(["./demo/pytest_01.py::TestAddFunc","-sv"])
# pytest.main(["./demo/pytest_01.py::TestAddFunc::test_01","-sv"])
if __name__ == '__main__':
pytest.main(["./asyncio_session_pytest.py::TestAsyncioRequest::test_async_req_session", "-sv"])
总结
这是简单的pytest 测试协程异步的教程,主要是用来测试同步请求,aiohttp的session复用,不复用的请求性能比较,源码地址:
码云上