w30-python02-pytest入门

代码如下:

python 复制代码
import pytest
class Test_Obj:
    """测试类"""
    #用例级别前后置
    def setup(self):
        print('用例级别------的前置处理')

    def teardown(self):
        print("用例级别--------的后置处理")

    # 用例
    def test_case1(self):
        print("test_case1")

    def test_case2(self):
        print("test_case2")

    #类级别操作
    def setup_class(self):
        print('类级别的前置处理')
    def teardown_class(self):
        print('类级别的后置处理')

代码说明:

通过命名setup、teardown、用例级别的前置和后置

通过命名setup_class、teardown_class、类级别的前置和后置

常见报错一:

no pytest runner found in the selected in interpreter

Pycharm自身不带解释器 所以需要自己安装好环境并且在Pycharm里面配置使用的解释器

确定自己安装好环境之后 可以按照下面的步骤完成设置

如果有已经设置过的解释器 就直接点击小三角选择 没有的话 点击 Show All 进行添加

常见报错二:

test_c.py::Test_C::test_001

D:\Z_Enviroment\python\ApiTestProject\lib\site-packages_pytest\fixtures.py:901: PytestRemovedIn8Warning: Support for nose tests is deprecated and will be removed in a future release.

test_c.py::Test_C::test_001 is using nose-specific method: setup(self)

To remove this warning, rename it to setup_method(self)

See docs: Deprecations and Removals - pytest documentation

fixture_result = next(generator)

原因是:setup和teardown并不是pytest的原生用法,在pytest中的原生用法应该是setup_method和teardown_method

解决办法:修改方法名为setup_method和teardown_method

pytest运行方式:

第一种执行方式:通过pycharm 的 pytest插件来识别并执行

第二种执行方式:通过主函数来执行 pytest.main(['-s']) -s:可以在控制台显示执行结果

通常为了方便,可以以外部文件去运行,相当于写一个运行入口

import pytest

if name == 'main':

pytest.main(['-s', 'pytest01.py'])

第三种执行方式:通过命令行的方式执行,pytest 文件路径/测试文件名

相关推荐
测试杂货铺5 分钟前
外包干了2年,快要废了。。
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
艾派森9 分钟前
大数据分析案例-基于随机森林算法的智能手机价格预测模型
人工智能·python·随机森林·机器学习·数据挖掘
小码的头发丝、35 分钟前
Django中ListView 和 DetailView类的区别
数据库·python·django
Chef_Chen1 小时前
从0开始机器学习--Day17--神经网络反向传播作业
python·神经网络·机器学习
千澜空2 小时前
celery在django项目中实现并发任务和定时任务
python·django·celery·定时任务·异步任务
斯凯利.瑞恩2 小时前
Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户附数据代码
python·决策树·随机森林
yannan201903132 小时前
【算法】(Python)动态规划
python·算法·动态规划
蒙娜丽宁2 小时前
《Python OpenCV从菜鸟到高手》——零基础进阶,开启图像处理与计算机视觉的大门!
python·opencv·计算机视觉
光芒再现dev2 小时前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
好喜欢吃红柚子3 小时前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn