在前文我们初步介绍了Pytest基础指南之介绍、环境及安装及Pytest与unittest如何选择的问题(Pytest基础指南之如何选择unitttest与pytest),本文将全面的对Pytest的API进行介绍,以便初学者能进一步全面了解Pytest的魅力。
学习一门语言、工具亦或框架,通过基础的介绍、环境、安装等文档后,应该需要全面的对其提供的功能特色、APIs等有一个大体的了解,形成一个总体的印象,这样就能更好的把握住其他能力,从而在后续的深入研习中就可以更好的理解其机制。
Pytest对外提供的API大体可以分为以下分类:
- Functions
- Marks
- Fixtures
- Hooks
- Objects
- Special Variables
- Environment Variables
- Configuration Options
下面对上述各类API进行简要的说明,以便大家了解其功能和作用,为后续掌握打下基础。
Functions
主要提供了pytest框架的公共的基础能力,例如当测试用例失败、跳过、异常、警告等等情况的处理方式。
Marks
标记可以用于将元数据应用于测试函数(注:不是fixture),然后fixture或插件可以访问这些函数。
Fixtures
Fixtures是可以被测试函数或其他Fixtures通过声明参数名的方式使用。
Hooks
Pytest提供了大量的hook出来,在你需要对pytest进行定制时,就可以通过重写hook函数来实现个性化的框架能力定制。
Objects
Pytest提供的各种基础结构、信息对象,所有的hook、Fixture均可以访问这些。
Special Variables
当在测试模块中定义全局变量时,pytest以一种特殊的方式处理某些全局变量。
Environment Variables
在Pytest中,提供了系列环境变量,用于改变、配置pytest的行为。
Configuration Options
在Pytest中我们可以将配置选项写在pytest.ini、tox.ini或setup.cfg文件中,这类配置文件通常放在你的项目的根目录下。
通常情况使用pytest.ini 或tox.ini文件作为配置文件,不推荐使用setup.cfg
在本文中,我并未列举出所有API大类下的具体的API,目的是期望大家能自己去先看一遍,后续再写出具体的使用文章,不然一篇文章的字数就太多了,阅读起来不怎么方便