zoukankan      html  css  js  c++  java
  • pytest文档3-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

    # 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')
    
    

    运行结果

    .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结合selenium自动化完整版-------------------------

    全书购买地址 https://yuedu.baidu.com/ebook/902224ab27fff705cc1755270722192e4536582b

    作者:上海-悠悠 QQ交流群:874033608

    也可以关注下我的个人公众号:yoyoketang

  • 相关阅读:
    ThinkPHP框架 做个简单表单 添加数据例子__ACTION__ __SELF__
    ThinkPHP框架 系统规定的方法查询数据库内容!!同时也支持原生的SQL语句!
    ThinkPHP框架 基础 链接数据库
    ThinkPHP框架 3.2.2 获取系统常量信息 连接数据库 命名空间的理解
    ThinkPHP框架 自定义 Empty 方法保护本地信息不被暴露!!!
    Smarty模板保留缓存
    this指向
    phpcms v9 的表单向导功能的使用方法 附多个案例
    phpcms标签整理_当前栏目调用
    转载]PhpCms V9调用指定栏目子栏目文章的两种方法
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/9366638.html
Copyright © 2011-2022 走看看