zoukankan      html  css  js  c++  java
  • pytest测试框架入门

    安装pytest

    命令行输入:

    pip install -U pytest

    检查是否安装了正确的版本:

    λ pytest --version
    This is pytest version 5.3.5, imported from e:python37libsite-packagespytest\__init__.py
    setuptools registered plugins:
      pytest-html-2.0.1 at e:python37libsite-packagespytest_htmlplugin.py
      pytest-metadata-1.8.0 at e:python37libsite-packagespytest_metadataplugin.py

    一个简单的demo

    import pytest
    
    def func(x):
        return x + 1
    
    def test_answer():
        assert func(3) == 5

    运行demo

    首先进入到此demo文件的路径下,然后执行 pytest ,会运行名称为test*.py的文件(*匹配任意符合字母和数字)

    pytest运行规则查找当前目录及其子目录下以test_.py或_test.py文件,找到文件后,在文件中找到以test开头函数并执行。

    C:UsershaiyDesktopcodeiot_yjb_api
    λ pytest
    ============================ test session starts ============================= platform win32 -- Python 3.7.1rc1, pytest-5.3.5, py-1.8.1, pluggy-0.13.1
    rootdir: C:UsershaiyDesktopcodeiot_yjb_api
    plugins: html-2.0.1, metadata-1.8.0
    collected 1 item
    
    test_api.py F                                                           [100%]
    
    ================================== FAILURES ================================== ________________________________ test_answer _________________________________
    
        def test_answer():
    >       assert func(3) == 5
    E    assert 4 == 5
    E     +  where 4 = func(3)
    
    test_api.py:9: AssertionError
    ============================= 1 failed in 0.23s =============================

    此测试返回失败报告,因为 func(3) 不返 5 .

     如何编写pytest测试样例

    通过上面的实例,我们发现编写pytest测试样例非常简单,只需要按照下面的规则:

    • 测试文件以test_开头(以_test结尾也可以)
    • 测试类以Test开头,并且不能带有 init 方法
    • 测试函数以test_开头
    • 断言使用基本的assert即可
  • 相关阅读:
    go基础_定时器
    作业3:写一个测试程序,消耗固定内存
    Hdu3397Sequence operation线段树
    Hdu3308LCIS线段树
    Poj3667Hotel线段树
    Poj1436Horizontally Visible Segments线段树
    Poj3225Help with Intervals区间线段树
    Poj2528Mayor's posters线段树
    poj3468A Simple Problem with Integers区间和线段树
    Hdu1698Just a Hook线段树区间更新
  • 原文地址:https://www.cnblogs.com/huny/p/13363360.html
Copyright © 2011-2022 走看看