上一篇pytest文档2-用例运行规则已经介绍了如何在cmd执行pytest用例,日常咱们写代码在pycharm比较多
写完用例以后,须要调试看看,是否是能正常运行,若是每次跑去cmd执行,太麻烦,因此颇有必要学习如何在pycharm里面运行pytest用例html
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框架代码的this
1.在pycharm里面写pytest用例,先导入pytest调试
# D:/YOYO/test_class.py ** 做者:上海-悠悠 QQ交流群:588402570** 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')
运行结果code
.F. [100%] ================================== FAILURES =================================== _____________________________ TestClass.test_two ______________________________ self = <YOYO.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就不会有警告了htm
pytest.main(['-q', 'test_class.py'])blog
1.新建一个工程后,左上角file->Setting->Tools->Python Integrated Tools->项目名称->Default test runner->选择py.testthree
2.改完以后,再从新建个脚本(注意是先改项目运行方式,再写代码才能出来),接下来右键运行就能出来pytest运行了
3.pytest是能够兼容unittest脚本的,以前写的unittest用例也能用pytest框架去运行
---------------------------------pytest结合selenium自动化完整版-------------------------
全书购买地址 https://yuedu.baidu.com/ebook/902224ab27fff705cc1755270722192e4536582b
做者:上海-悠悠 QQ交流群:874033608
也能够关注下个人我的公众号:yoyoketang