您的位置:首页 > 科技 > IT业 > w30-python02-pytest入门

w30-python02-pytest入门

2024/12/23 10:00:12 来源:https://blog.csdn.net/java_jane/article/details/140653151  浏览:    关键词:w30-python02-pytest入门

代码如下:

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 文件路径/测试文件名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com