Pytest - 概述&入门
简介
-
Pytest是一款强大的python自动化测试工具,可以胜任各种类型或者级别的软件测试工作;
-
pytest提供了丰富的功能,包括assert重写,第三方插件,以及其他测试工具无法比拟的fixture模型;
-
pytest是一个软件测试框架,是一款命令行工具,可以自动找到测试用例执行,并且回报测试结果;
-
丰富的基础库,可以大幅度提高用户编写测试用例的效率。具备扩展性,用户可以自己编写插件,或者安装第三方提供的插件;
-
以很容易地与其他工具集成到一起使用。比如持续集成,web自动化测试等。
安装
|
pip install pytest |
用例约束
用Pytest写用例时候,一定要按照下面的规则去写,否则不符合规则的测试用例是不会执行的。
-
用例收集规则:
-
以
test_
开头的测试文件,例如test_login.py
-
以
Test
开头的测试类,例如class Test_login:
-
以
test_
开头的测试函数,例如def test_login():
-
以
-
执行用例规则:
-
运行指定目录下用例:
pytest 目录/目录
-
运行指定python文件:
pytest 目录/文件名.py
-
运行指定类或者函数:
pytest 目录/文件名.py::类名::函数名
-
运行指定目录下用例:
快速入门
test_login.py
|
# -*- coding:utf-8 -*- |
|
import pytest |
|
|
|
# 测试类名称以Test开头 |
|
class Test_Login: |
|
|
|
# 函数命名使用test开头或结尾 |
|
def test_a(self): |
|
abc = 0+1 |
|
assert abc # 断言成功 |
|
|
|
# 在单测类中,可以包含一个或多个test开头的函数 |
|
def test_b(self): |
|
abc = 1-1 |
|
assert abc # 断言失败 |
|
|
|
if __name__ == "__main__": |
|
pytest.main(['-s', "test_login.py"]) |