3.pytest文档-pycharm运行pytest
Posted 岁月安好
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.pytest文档-pycharm运行pytest相关的知识,希望对你有一定的参考价值。
前言
上一篇pytest文档2-用例运行规则已经介绍了如何在cmd执行pytest用例,平常我们写代码在pycharm比较多
写完用例之后,需要调试看看,是不是能正常运行,如果每次跑去cmd执行,太麻烦,所以很有必要学习如何在pycharm里面运行pytest用例
pycharm运行三种方式
1.以xx.py脚本方式直接执行,当写的代码里面没用到unittest和pytest框架时,并且脚本名称不是以test_开头命名的,此时pycharm会以xx.py脚本方式运行
2.当脚本命名为test_xx.py时,用到unittest框架,此时运行代码,pycharm会自动识别到以unittest方式运行
3.以pytest方式运行,需要改该工程设置默认的运行器:file->Setting->Tools->Python Integrated Tools->项目名称->Default test runner->选择py.test
备注:pytest是可以兼容unittest框架代码的
pycharm写pytest代码
1.在pycharm里面写pytest用例,先导入pytest
import pytest
class TestClass:
def test_one(self):
x = "this"
assert \'h\' in x
def test_two(self):
x = "hello"
assert hasattr(x, \'check\')
def test_three(self):
a = "hello"
b = "hello world"
assert a in b
if __name__ == "__main__":
pytest.main(\'-q test_class.py\')
运行结果
.F. [100%]
================================== FAILURES ===================================
_____________________________ TestClass.test_two ______________________________
self = <suiyueanhao.test_class.TestClass object at 0x00000000039F9080>
def test_two(self):
x = "hello"
> assert hasattr(x, \'check\')
E AssertionError: assert False
E + where False = hasattr(\'hello\', \'check\')
test_class.py:11: AssertionError
============================== warnings summary ===============================
<undetermined location>
passing a string to pytest.main() is deprecated, pass a list of arguments instead.
-- Docs: http://doc.pytest.org/en/latest/warnings.html
1 failed, 2 passed, 1 warnings in 0.06 seconds
2.运行结果“.F. ” 点是代表测试通过,F是Fail的意思,1 warnings是用于pytest.main(\'-q test_class.py\')里面参数需要传list,多个参数放list就不会有警告了
pytest.main([\'-q\', \'test_class.py\'])
pycharm设置pytest
1.新建一个工程后,左上角file->Setting->Tools->Python Integrated Tools->项目名称->Default test runner->选择pytest
2.改完之后,再重新建个脚本(注意是先改项目运行方式,再写代码才能出来),接下来右键运行就能出来pytest运行了(最好是重新登录一下)
以上是关于3.pytest文档-pycharm运行pytest的主要内容,如果未能解决你的问题,请参考以下文章