开源项目 snapshottest
使用教程
snapshottestSnapshot Testing utils for Python 📸项目地址:https://gitcode.com/gh_mirrors/sn/snapshottest
1. 项目的目录结构及介绍
snapshottest
是一个用于 pytest、unittest、Django 和 Nose 的快照测试库。以下是其基本的目录结构和各部分介绍:
snapshottest/
├── README.md
├── setup.py
├── snapshottest/
│ ├── __init__.py
│ ├── module.py
│ ├── another_module.py
│ └── tests/
│ ├── __init__.py
│ ├── test_example.py
│ └── snapshots/
│ └── __snapshots__/
│ └── test_example.ambr
├── docs/
│ ├── conf.py
│ ├── index.rst
│ └── ...
└── ...
README.md
: 项目介绍和使用说明。setup.py
: 项目的安装脚本。snapshottest/
: 项目的主要代码目录。__init__.py
: 模块初始化文件。module.py
,another_module.py
: 项目的主要功能模块。tests/
: 测试代码目录。__init__.py
: 测试模块初始化文件。test_example.py
: 示例测试文件。snapshots/
: 快照文件存储目录。__snapshots__/
: 具体的快照文件。
docs/
: 项目文档目录。conf.py
: Sphinx 文档配置文件。index.rst
: 文档首页。
2. 项目的启动文件介绍
snapshottest
项目的启动文件主要是 setup.py
,它负责项目的安装和分发。以下是 setup.py
的基本内容:
from setuptools import setup, find_packages
setup(
name='snapshottest',
version='0.6.0',
description='Snapshot testing for pytest, unittest, Django and Nose.',
long_description=open('README.md').read(),
long_description_content_type='text/markdown',
author='Syrus Akbary',
author_email='me@syrusakbary.com',
url='https://github.com/syrusakbary/snapshottest',
packages=find_packages(),
install_requires=[
'pytest>=3.0',
'six',
],
classifiers=[
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Topic :: Software Development :: Libraries',
],
)
3. 项目的配置文件介绍
snapshottest
项目的配置文件主要是 setup.py
和 docs/conf.py
。以下是 docs/conf.py
的基本内容:
import os
import sys
sys.path.insert(0, os.path.abspath('..'))
project = 'snapshottest'
copyright = '2020, Syrus Akbary'
author = 'Syrus Akbary'
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.viewcode',
'sphinx.ext.napoleon',
]
templates_path = ['_templates']
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
html_theme = 'alabaster'
html_static_path = ['_static']
sys.path.insert(0, os.path.abspath('..'))
: 确保 Sphinx 能够找到项目的模块。extensions
: 启用的 Sphinx 扩展。templates_path
: 模板文件路径。exclude_patterns
: 排除的文件和目录。html_theme
: 使用的 HTML 主题。- `
snapshottestSnapshot Testing utils for Python 📸项目地址:https://gitcode.com/gh_mirrors/sn/snapshottest