本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/18033074
实现目标
搭建能基于pytest运行测试用例的项目。
另外,用到的ide工具是pycharm
创建项目
1、输入项目名称
2、选择项目位置
3、自定义虚拟环境(默认即可)
创建完成
安装pytest
补充:python虚拟环境操作,详见:https://www.cnblogs.com/uncleyong/p/17947601
进入虚拟环境
查看已经安装的包:pip list
升级pip:python -m pip install --upgrade pip
安装pytest:pip install pytest
查看已经安装的包:可以看到pytest,pip也升级了
如果要推出虚拟环境,执行命令:deactivate
创建目录结构
根据第一篇(https://www.cnblogs.com/uncleyong/p/18033000)的目录结构规划创建
pytest配置文件(pytest.ini)
说明:logging是python内置模块,不需要额外安装
新增如下内容:
[pytest]
; 配置命令行
addopts = -vs --strict-markers
testpaths = ./case
python_files = test_*.py
python_classes = Test*
python_functions = test_*
;日志开关
log_cli = 1
;输出到terminal
;日志级别
log_cli_level = info
;日志格式
log_cli_format = %(asctime)s [%(levelname)s] %(message)s (%(filename)s:%(lineno)s)
;日志时间格式
log_cli_date_format = %Y-%m-%d %H:%M:%S
; 输出到文件
;日志文件位置
log_file = ./log/test.log
;日志文件等级
log_file_level = info
;日志文件格式
log_file_format = %(asctime)s [%(levelname)s] %(message)s (%(filename)s:%(lineno)s)
;日志文件日期格式
log_file_date_format = %Y-%m-%d %H:%M:%S
创建测试模块
case下创建test_cases.py
内容为:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: 韧
# @wx: ren168632201
# @Blog: https://www.cnblogs.com/uncleyong/
import logging
logger = logging.getLogger(__name__)
class TestCase:
def test_case(self):
logger.info("---测试开始,断言1==1")
assert 1 == 1
main.py内容
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: 韧
# @wx: ren168632201
# @Blog: https://www.cnblogs.com/uncleyong/
import pytest
if __name__ == '__main__':
pytest.main()
运行用例
在虚拟机环境中进入项目根目录运行
python main.py运行
也可以直接pytest运行
log目录下生成了log文件
日志文件内容仅有最后一次运行的日志,说明之前运行日志被覆盖了