pytest-icdiff 项目教程

pytest-icdiff 项目教程

pytest-icdiffbetter error messages for assert equals in pytest项目地址:https://gitcode.com/gh_mirrors/py/pytest-icdiff

1. 项目的目录结构及介绍

pytest-icdiff/
├── LICENSE
├── MANIFEST.in
├── README.rst
├── example_output.png
├── pytest_icdiff.py
├── setup.py
├── tests/
│   └── test_icdiff.py
└── tox.ini
  • LICENSE: 项目的许可证文件,采用 Unlicense 许可证。
  • MANIFEST.in: 用于指定在打包时需要包含的非 Python 文件。
  • README.rst: 项目说明文档,包含项目的基本介绍和使用方法。
  • example_output.png: 示例输出图片,展示 pytest-icdiff 的效果。
  • pytest_icdiff.py: 项目的主要代码文件,包含 pytest 插件的实现。
  • setup.py: 用于安装和打包项目的配置文件。
  • tests/: 包含项目的测试文件。
  • tox.ini: 用于配置 tox 自动化测试工具。

2. 项目的启动文件介绍

项目的启动文件是 pytest_icdiff.py,该文件包含了 pytest 插件的主要实现代码。以下是文件的主要内容和功能介绍:

# pytest_icdiff.py

import pytest
import icdiff
import pprintpp

def pytest_assertrepr_compare(config, op, left, right):
    if op in ('==', '!=') and config.getoption('--icdiff'):
        return icdiff.get_diff_options(left, right)

def pytest_addoption(parser):
    group = parser.getgroup('icdiff')
    group.addoption('--icdiff', action='store_true', help='use icdiff for better error messages in pytest assertions')

def pytest_configure(config):
    if config.getoption('--icdiff'):
        config.pluginmanager.register(IcdiffPlugin(), 'icdiff-plugin')

class IcdiffPlugin:
    def pytest_assertrepr_compare(self, config, op, left, right):
        return icdiff.get_diff_options(left, right)
  • pytest_assertrepr_compare: 该函数用于在断言失败时生成更好的错误信息。
  • pytest_addoption: 该函数用于添加命令行选项 --icdiff,启用 icdiff 插件。
  • pytest_configure: 该函数在 pytest 配置阶段注册 icdiff 插件。
  • IcdiffPlugin: 插件类,包含 pytest_assertrepr_compare 方法,用于生成差异信息。

3. 项目的配置文件介绍

项目的配置文件主要是 setup.py,该文件用于安装和打包项目。以下是文件的主要内容和功能介绍:

# setup.py

from setuptools import setup

setup(
    name='pytest-icdiff',
    version='0.9',
    description='use icdiff for better error messages in pytest assertions',
    long_description=open('README.rst').read(),
    author='Harry Percival',
    author_email='obeythetestinggoat@gmail.com',
    url='https://github.com/hjwp/pytest-icdiff',
    py_modules=['pytest_icdiff'],
    entry_points={'pytest11': ['icdiff = pytest_icdiff']},
    install_requires=['pytest', 'icdiff', 'pprintpp'],
    classifiers=[
        'Development Status :: 4 - Beta',
        'Framework :: Pytest',
        'Intended Audience :: Developers',
        'License :: Public Domain',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.7',
        'Programming Language :: Python :: 3.8',
        'Programming Language :: Python :: 3.9',
        'Programming Language :: Python :: 3.10',
        'Programming Language :: Python :: 3.11',
        'Topic :: Software Development :: Testing',
    ],
)
  • name: 项目名称。
  • version: 项目版本。
  • description: 项目简短描述。
  • long_description: 项目详细描述,从 README.rst 文件读取。
  • author: 项目作者。
  • url: 项目主页。

pytest-icdiffbetter error messages for assert equals in pytest项目地址:https://gitcode.com/gh_mirrors/py/pytest-icdiff

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

甄英贵Lauren

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值