pytest怎么安装_pytest安装

pytest怎么安装_pytest安装pytest介绍pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

pytest介绍

pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它具有如下特点:

  1. 非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考
  2. 能够支持简单的单元测试和复杂的功能测试
  3. 支持参数化
  4. 执行测试过程中可以将某些测试跳过(skip),或者对某些预期失败的case标记成失败
  5. 支持重复执行(rerun)失败的 case
  6. 支持运行由 nose, unittest 编写的测试 case
  7. 可生成 html 报告
  8. 方便的和持续集成工具 jenkins 集成
  9. 可支持执行部分用例
  10. 具有很多第三方插件,并且可以自定义扩展
     

安装pytest

一般接触一个新的框架,个人推荐使用virtualenvwrapper这个虚拟环境,使得环境独立
有关virtualenvwrapper的安装与使用后续再出文章,这里可自行百度

终端运行

(pytest_env) ➜  ~ pip3 install pytest

查看版本

(pytest_env) ➜  ~ pytest --version             

 

快速开始

# test_sample.py 的内容 
def func(x):
  return x + 1


def test_answer():
  assert func(3) == 5


class TestClass(object):
  def test_one(self):
    x = "this"
    assert 'h' in x

  def test_two(self):
    x = "hello"
    assert hasattr(x, 'check')

然后进入当前目录,执行命令pytest

> pytest

============================================= test session starts =============================================
platform darwin -- Python 3.7.6, pytest-6.2.1, py-1.10.0, pluggy-0.13.0
rootdir: /Users/jkc/PycharmProjects/pytestDoc
plugins: allure-pytest-2.8.6
collected 3 items                                                                                             

test_example.py F.F                                                                                     [100%]

================================================== FAILURES ===================================================
_________________________________________________ test_answer _________________________________________________

    def test_answer():
>     assert func(3) == 5
E     assert 4 == 5
E      +  where 4 = func(3)

test_example.py:16: AssertionError
_____________________________________________ TestClass.test_two ______________________________________________

self = <test_example.TestClass object at 0x7fe3e6ff7990>

    def test_two(self):
      x = "hello"
>     assert hasattr(x, 'check')
E     AssertionError: assert False
E      +  where False = hasattr('hello', 'check')

test_example.py:26: AssertionError
=========================================== short test summary info ===========================================
FAILED test_example.py::test_answer - assert 4 == 5
FAILED test_example.py::TestClass::test_two - AssertionError: assert False
========================================= 2 failed, 1 passed in 0.04s =========================================

 

知识点

  • 如果只执行 pytest ,会查找当前目录及其子目录下以test__*.py*_test.py 文件,找到文件后,在文件中找到以 test 开头函数或者Test开头的类并执行(当然,后续也可以自定义规则)
  • 如果只想执行某个文件,可以pytest start.py
  • 加上-q,就是显示简单的结果:pytest -q start.py

 

Pytest用例的设计原则

用Pytest写用例时候,一定要按照下面的规则去写,否则不符合规则的测试用例是不会执行的

  • 文件名以 test_*.py 文件和*_test.py
  • test_ 开头的函数
  • Test开头的类,不能包含__init__方法
  • 以 test_ 开头的类里面的方法
  • 所有的包 pakege 必项要有__init__.py 文件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166374.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月6日 下午7:46
下一篇 2022年8月6日 下午7:46


相关推荐

  • 网页设计实战3 ufo类型的科技网页如何实现

    网页设计实战3 ufo类型的科技网页如何实现

    2022年4月3日
    35
  • Gherkin简单使用

    Gherkin简单使用Gherkin 简单使用 1 Gherkin 简介 Cucumber 是一个解释程序 就像 ruby 命令执行解释 rb 文件里的 Ruby 代码一样 Cucumber 用来执行解释 feature 文件里的 Gehrkin 代码 2 关键字 当你编写一个 feature 文件的时候 会用到很多 Gherkin 语言里特定的关键字 主要包括下这面些 Feature Background Scenari

    2026年3月20日
    2
  • 中国石化java待遇_中国石化JAVA软件工程师面试:首先,上午进行面试人员签到 – 职朋职业圈…「建议收藏」

    中国石化java待遇_中国石化JAVA软件工程师面试:首先,上午进行面试人员签到 – 职朋职业圈…「建议收藏」为了帮助职业圈网友能够及时了解中国石化的面试流程以及面试过程所涉及的面试问题,职业圈小编把刚获得的中国石化面试经验马上编辑好,快速提供给大家,以便能够尽快帮助到有需要的人。这次面试总共花了0.5天。面试形式包括群面。面试过程首先,上午进行面试人员签到,大约100人左右。一共要2个人。下午1点半开始统一面试。人员较多,所以每个人只有3分钟时间,一共最少8位面试官。过程中,他们很少提问题,如果你的技…

    2022年10月15日
    6
  • MATLAB R2019b超详细安装教程(附完整安装文件)

    MATLAB R2019b超详细安装教程(附完整安装文件)摘要:本文详细介绍MATLABR2019b的安装步骤,为方便安装这里提供了完整安装文件的百度网盘下载链接供大家使用。从文件下载到证书安装本文都给出了每个步骤的截图,按照图示进行即可轻松完成安装使用。本文目录包括:下载安装包、正式安装步骤、复制替换文件、创建快捷方式。

    2022年6月11日
    232
  • springboot中logback配置(spring配置类)

    1、Logback简介Logback是由log4j创始人设计的又一个开源日志组件。相比于log4j,Logback重写了内核,在一些关键执行路径上性能提升10倍以上。而且logback不仅性能提升了,初始化内存加载也更小; logback当前分成三个模块:logback-core,logback-classic和logback-access。logback-core是其它两个…

    2022年4月11日
    54
  • 计算机硬件知识总结

    计算机硬件知识总结计算机硬件对于软件工程师来说很多时候只是停留在一个概念上,例如CPU和内存,硬盘等等,这些都属于计算机组成原理里面必然会介绍到的,博主大学前期接触过大量的计算机硬件知识,曾几何时我甚至考虑过全身心投入到半导体行业,但是考虑到环境限制因素和个人职业的发展,折中选择了软件方向,但是最近阅读了一些机器学习相关的文章,也尝试过自己去训练模型,发现模型训练对硬件的要求比较特殊,这也让我有机会来从新总结一下硬…

    2022年7月22日
    15

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号