- 181
- 0
- 约12.44万字
- 约 103页
- 2021-06-10 发布于吉林
- 举报
Chapter 1 安装和启动
pytest作为一个测试框架,可以非常简单的建立易用性好,扩展性强的测试集。这些测试因为避免了
大量的样板代码,所以可读性非常高。
你可以花费一点时间通过一个unittest或者略复杂的函数测试来验证你的应用程序或者库。
1.1 安装pytest
1.在你的python环境下运行下面的命令即可安装pytest
pip install ‐U pytest
2.检查你安装的pytest的版本信息是否正确:
$ pytest ‐‐version
This is pytest version 4.2.1, imported from /Users/david/Downloads/myPython/python3‐
venv/lib/python3.7/site‐packages/pytest.py
1.2 创建你的第一个测试
创建一个只有4行代码的简单函数:
# test_sample.py 的内容
def func(x):
return x + 1
def test_answer():
assert func(3) == 5
现在,你可以在test_sample.py的同级目录下直接执行pytest,结果如下:
$ pytest
============================= test session starts ==============================
platform darwin ‐‐ Python 3.7.2, pytest‐4.2.1, py‐1.7.0, pluggy‐0.8.1
rootdir: $REGENDOC_TMPDIR, inifile:
collected 1 item
test_sample.py F [100%]
=================================== FAILURES ===================================
_________________________________ test_answer __________________________________
def test_answer():
assert func(3) == 5
E assert 4 == 5
E + where 4 = func(3)
test_sample.py:4: AssertionError
=========================== 1 failed in 0.07 seconds ===========================
这个测试的结果是失败的,因为func(3)的返回值不是5
1.3 运行多个测试
pytest会运行当前目录及子目录下所有以 test_*.py 和 *_test.py 命名的文件。文件匹配方式遵循
Standard test discovery rules
1.4 判断是否发生了指定的异常
使用raises可以判断代码是否抛出了异常:
# test_sysexit.py 的内容
import pytest
def f():
raise SystemExit(1)
def test_mytest():
with pytest.raises(SystemExit):
f()
使用quiet模式来执行这个测试:
$ pytest ‐q test_sysexit.py
. [100%]
1 passed in 0.03 seconds
1.5 将多个测试用例放在一个class中
当你需要开发多个测试用例的时候,你可能需要将他们放在同一个class中,pytest可以很简单的创建
包含多个测试用例的class:
# test_class.py的内容
您可能关注的文档
最近下载
- 专题2 数据采集与编码 学案(含解析)2025届高中信息技术.DOCX VIP
- 高中地理课件湘教版:1-1中国的人口和民族.ppt
- 鲁科版高中化学选择性必修1第3章物质在水溶液中的行为3.3.2沉淀溶解平衡的应用课件(内嵌音频+视频).ppt VIP
- 建筑施工安全管理论文【推荐】.doc VIP
- 2025年高考地理识图填图完全手册(扫描版).docx
- 防火封堵材料 GB23864-2023.pdf
- 专题2 数据采集与编码 课件 2025届高中信息技术.pptx VIP
- 专题1 数据与大数据 课件 2025届高中信息技术.pptx VIP
- 鲁科版高中化学选择性必修1第3章物质在水溶液中的行为3.3.1沉淀溶解平衡与溶度积(内嵌音频+视频).ppt VIP
- 2025年甘肃省高考物理试卷(含答案解析).docx VIP
原创力文档

文档评论(0)