博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pytest
阅读量:4878 次
发布时间:2019-06-11

本文共 1690 字,大约阅读时间需要 5 分钟。

一:基础

安装pip install pytestpip show pytestpytest --versionpytest --help

1.1简单测试

test_func.py(注意一定要以test开始)def add(x,y):    return x + ydef test1():    assert 2 == add(1,1)def test2():    assert 1 != add(1,1)

然后在终端中进入相应的文件目录

pytest -vv test_func.py   (-vv表示详细)

如果没有加后缀

pytest

则所有的以test开头的文件都要被执行。

1.2 计算测试时间

计算显示每个测试执行的时间

pytest --durations=0 -vv test_func.py             #duration 周期,表示我想测试0秒以上的所有的方法

1.3 测试异常(例外)的发生

import pytestdef func(x):    if x == 0:        raise ValueError("value error")    else:        passdef test_mytest1():    with pytest.raises(ValueError):        func(0)def test_mytest2():    assert func(1) == None

1.4 不同参数传递测试

为同一个函数传递不同参数进行测试

def add(x,y):    return x + yimport pytest@pytest.mark.parametrize(    "x,y,expected",    [        (1,1,2),        (2,2,4),        (10,10,20),    ])def test_add(x,y,expected):    assert add(x,y) == expected

1.5 分组测试

将测试方法分为不同的测试组,测试时可以单独测试某个组的方法。

在终端输入pytest --markers可以查看当前的分组情况,默认有1、@pytest.mark.filterwarnings(warning)2、@pytest.mark.skip(reason=None)3、@pytest.mark.skipif(condition)4、@pytest.mark.xfail(condition, reason=None, run=True, raises=None, strict=False)5、@pytest.mark.parametrize(argnames, argvalues)6、@pytest.mark.usefixtures(fixturename1, fixturename2, ...)7、@pytest.mark.tryfirst8、@pytest.mark.trylast

然后在文件夹下创建一个 pytest.ini 文件,在里面添加自己的业务分组。以下为 pytest.ini 的内容

[pytest]markers =    g1:描述1.    g2:描述2.

在保存文件后,再次在终端输入 pytest --markers (编码问题可以用英文)

 

import pytest@pytest.mark.g1def test_func1():    pass@pytest.mark.g2def test_func2():    pass@pytest.mark.g1def test_func3():    pass@pytest.mark.g2def test_func4():    pass

想要执行某个分组的时候

pytest -vv -m g1pytest -vv -m g2

 

转载于:https://www.cnblogs.com/dongye95/p/10967778.html

你可能感兴趣的文章
关于Spring注解@Async引发其他注解失效
查看>>
关于学习的一些感悟
查看>>
算法提高 概率计算
查看>>
UVa 12716 - GCD XOR(筛法 + 找规律)
查看>>
Spring Cloud学习资料
查看>>
制作无广告启动盘
查看>>
python使用httplib2访问REST服务的例子
查看>>
经典代码(01)
查看>>
生成ico格式图标
查看>>
并查集hdu4424
查看>>
【异常】IOException parsing XML document from class path resource [xxx.xml]
查看>>
第五周作业
查看>>
COJ 2135 Day10-例1
查看>>
jdbc之分页查询
查看>>
PHP手动环境搭建之WAMP
查看>>
COJ 1003 WZJ的数据结构(三)ST表
查看>>
sbrk and coreleft
查看>>
树型DP
查看>>
怎么在ubuntu上使用pidgin登陆QQ
查看>>
思维的惰性
查看>>