码迷,mamicode.com
首页 > 其他好文 > 详细

pytest_03_pycharm运行pytest (转:上海悠悠)

时间:2018-09-09 19:43:17      阅读:461      评论:0      收藏:0      [点我收藏+]

标签:===   inf   failure   this   second   setting   htm   file   test   

前言

上一篇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

# D:/YOYO/test_class.py


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 = <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就不会有警告了

pytest.main([‘-q‘, ‘test_class.py‘])

pycharm设置pytest

1.新建一个工程后,左上角file->Setting->Tools->Python Integrated Tools->项目名称->Default test runner->选择py.test

技术分享图片

2.改完之后,再重新建个脚本(注意是先改项目运行方式,再写代码才能出来),接下来右键运行就能出来pytest运行了

技术分享图片

3.pytest是可以兼容unittest脚本的,之前写的unittest用例也能用pytest框架去运行

pytest_03_pycharm运行pytest (转:上海悠悠)

标签:===   inf   failure   this   second   setting   htm   file   test   

原文地址:https://www.cnblogs.com/lixy-88428977/p/9614456.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!