zoukankan      html  css  js  c++  java
  • pytest_1安装和启动

    一、安装和启动

    1.1 安装pytest
    1. 键入Ctrl+R,打开cmd,输入命令至python环境下(本机:D:Python27>)
    2. 在python环境下运行下面的命令即可安装pytest
    #pip install -U pytest
    3. 检查安装的pytest的版本信息是否正确
    #pytest --version

    1.2第一个测试Demo
    1. 创建一个只有4行代码的简单函数:

    def fun(x):
        return x+1
    def test_answer():
        assert fun(3)==5
    

    2. 使用pytest运行,首先需进入到文件所在位置(本机:F:study Interface_automationInterface automation),然后键入命令

    #pytest jsonDemo.py

    1. 如上图所示,这个结果是失败的,因为func(3)的返回值不是5

    1.3运行多个测试
    pytest会运行当前目录及子目录下所有以test_*.py和*_test.py命名的文件,文件匹配方式遵循Standard test discovery rules

    1.4判断是否发生了指定的异常
    1. 使用raises可以判断代码是否抛出了异常:

    import pytest
    def f():
        raise SystemExit(1)
    
    def test_mytest():
        with pytest.raises(SystemExit):
            f()
    

    2. 使用“quiet”模式来执行这个测试:如下图所示


    1.5 将多个测试用例放在一个class中
    1. 当需要开发多个测试用例的时候,可以将他们放在同一个class中,pytest可以简单的创建包含多个测试用例的class:

    class TestClass(object):
        def test_one(self):
            x="this"
            assert 'h' in x
    
        def test_two(self):
            x='hello'
            assert hasattr(x,'check')

    2. pytest根据Conventions for Python test discovery查找所有的测试用例,所以可以找到所有以**test_**开头的测试函数,我们可以通过文件名来直接运行整个模块:

    3. 如上图所示,第一个测试用例passed,第二个测试用例failed,可以直观的观察到测试用例中进行判断的中间值,这样可以帮助理解测试用例失败的原因。

    1.6 为测试用例创建唯一的临时文件夹
    1. pytest提供Builtin fixtures/function arguements来创建任意的资源,比如一个具有唯一的临时文件夹:

    def test_needsfiles(tmpdir):
        print tmpdir
        assert 0

    2. 如果函数的签名中(函数签名包括函数的参数和返回值,以及参数的封送顺序等等)包含参数tmpdir,pytest就会在执行测试用例之前查找并调用特定的fixture创建所需资源,在本例中,pytest会创建一个unique-per-test-invocation临时文件夹:

    关于tmpdir的更多信息请参好Temporary directories and files通过下面的命令可以查看所有内置的pytest fixture:
    键入命令:#pytest --fixtures,如下图所示

     

  • 相关阅读:
    5.19 省选模拟赛 T1 小B的棋盘 双指针 性质
    5.15 省选模拟赛 容斥 生成函数 dp
    5.15 省选模拟赛 T1 点分治 FFT
    5.15 牛客挑战赛40 B 小V的序列 关于随机均摊分析 二进制
    luogu P4929 【模板】舞蹈链 DLX
    CF 878E Numbers on the blackboard 并查集 离线 贪心
    5.10 省选模拟赛 拍卖 博弈 dp
    5.12 省选模拟赛 T2 贪心 dp 搜索 差分
    5.10 省选模拟赛 tree 树形dp 逆元
    luogu P6088 [JSOI2015]字符串树 可持久化trie 线段树合并 树链剖分 trie树
  • 原文地址:https://www.cnblogs.com/Rita-LJ/p/11238064.html
Copyright © 2011-2022 走看看