pytest-regressions 项目教程
1. 项目的目录结构及介绍
pytest-regressions/
├── CHANGELOG.rst
├── CONTRIBUTING.rst
├── LICENSE
├── MANIFEST.in
├── README.rst
├── docs/
│ ├── conf.py
│ ├── index.rst
│ └── ...
├── pytest_regressions/
│ ├── __init__.py
│ ├── data_regression.py
│ ├── file_regression.py
│ └── ...
├── setup.cfg
├── setup.py
└── tests/
├── conftest.py
├── test_data_regression.py
├── test_file_regression.py
└── ...
目录结构介绍
- CHANGELOG.rst: 记录项目的变更日志。
- CONTRIBUTING.rst: 贡献指南,指导如何为项目贡献代码。
- LICENSE: 项目的许可证文件。
- MANIFEST.in: 指定在打包时包含的文件。
- README.rst: 项目的基本介绍和使用说明。
- docs/: 项目的文档目录,包含文档配置文件和文档源文件。
- pytest_regressions/: 项目的主要代码目录,包含各个功能模块的实现。
- setup.cfg: 项目构建的配置文件。
- setup.py: 项目的安装脚本。
- tests/: 项目的测试目录,包含各种测试用例。
2. 项目的启动文件介绍
项目的启动文件主要是 setup.py
,它负责项目的安装和分发。以下是 setup.py
的基本内容:
from setuptools import setup, find_packages
setup(
name='pytest-regressions',
version='2.5.0',
description='Easy to use fixtures to write regression tests.',
long_description=open('README.rst').read(),
author='ESSS',
author_email='bruno.oliveira@esss.co',
url='https://github.com/ESSS/pytest-regressions',
packages=find_packages(),
install_requires=[
'pytest>=3.5',
'pytest-datadir',
],
classifiers=[
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
],
entry_points={
'pytest11': [
'regressions = pytest_regressions.plugin',
],
},
)
启动文件介绍
- name: 项目的名称。
- version: 项目的版本号。
- description: 项目的简短描述。
- long_description: 项目的详细描述,通常从
README.rst
文件中读取。 - author: 项目的作者。
- author_email: 作者的电子邮件地址。
- url: 项目的仓库地址。
- packages: 需要包含的 Python 包。
- install_requires: 项目依赖的其他包。
- classifiers: 项目的分类信息。
- entry_points: 指定 pytest 插件的入口点。
3. 项目的配置文件介绍
项目的配置文件主要是 setup.cfg
,它包含了一些构建和测试的配置信息。以下是 setup.cfg
的基本内容:
[metadata]
name = pytest-regressions
version = attr: pytest_regressions.__version__
description = Easy to use fixtures to write regression tests.
long_description = file: README.rst
author = ESSS
author_email = bruno.oliveira@esss.co
url = https://github.com/ESSS/pytest-regressions
license = MIT
[options]
packages = find:
install_requires =
pytest>=3.5
pytest-datadir
[options.package_data]
* = *.json, *.yaml
[tool:pytest]
addopts = --cov=pytest_regressions