Skip to main content

在 Python 中比较/断言表达式的替代语法。支持用于自定义比较的可插拔匹配器。

项目描述

概述

Compare 是一个紧凑的实用程序,它为比较数据值提供了一种替代的、富有表现力的语法。您是否一直在寻找摆脱陈旧的 XUnit 风格断言的方法,这种断言困扰着无处不在的unittest?您可能已经找到了您所需要的。我邀请您看看这个小实用程序。如果它符合您的风格,您可以将它用作在 python 中进行断言的“self.assert…”风格的替代品。

compare API 公开了expect构造,它允许您使用可读和可扩展的语法比较值。它被设计为独立的替代断言语法。因此,您可以将它与您最喜欢的测试/规范框架一起使用。

文档http ://packages.python.org/compare

项目来源https ://github.com/rudylattae/compare

PyPI 页面http://pypi.python.org/pypi/compare

特征

  • 提供一组用于比较值的基本匹配器

  • 使用自定义匹配器轻松扩展

  • 打包为单个插入式模块

要求

compare 的核心实现是一个单文件模块,除了Python 标准库之外没有其他要求。

安装

安装比较的最简单和推荐的方法是使用 Pip。您可以使用 pip 从 PyPI 安装最新的稳定版本:

> pip install compare

如果你没有 pip,你可以使用 easy_install:

> easy_install compare

或者,您可以从PyPI 上的比较页面下载源包,解压缩并使用以下命令安装它:

> python setup.py install

如果您愿意,您可以从项目存储库中获取开发中(前沿但不稳定)版本compare.py并将其放入您的项目目录中。

你得到什么

当你安装包时,你会得到“expect” starter,这是一个简单的函数,允许你比较两个值,如果结果不符合你的期望,则失败。此启动器具有可扩展的匹配器,使您能够以 Pythonic BDD 方式描述预期结果。

当您为您的软件制定可执行规范时,比较会大放异彩。它可以帮助你保持你的思路,而不会屈服于以测试为中心的非 python 干扰,如“self.assertEqual(s)…”、“self.assertTrue”等。

这是一个在规范中使用“expect”结构时获得的可读性的简单示例。

> 猫你好.py

greeting = 'Hello you'

> 猫 hello_specs.py

from compare import expect
import hello

expect(hello.greeting).to_equal('Hello you')

如果您定义了一个未满足的期望,您将收到一个“未满足的期望”错误,该错误继承自 python AssertionError,因此它与通常的单元测试工具兼容。以下是此类错误的示例:

>>> from compare import expect
>>> opts = ['foo', 'bar', 'baz']
>>> expect(opts).to_contain('BAT')
Traceback (most recent call last):
    ...
UnmetExpectation: Expected ['foo', 'bar', 'baz'] to contain 'BAT'

少了什么东西

expect语法还没有一个干净的方法来否定匹配器。此功能计划在下一个版本中使用。预期用法的示例:

expect(['a', 'c', 'd']).NOT.to_contain('b')

to_return匹配器不接受任何参数传递给可调用对象。

匹配器不接受自定义失败消息。

反馈

我欢迎任何有关错误的问题或反馈以及有关如何改进比较的建议。让我知道你对比较的看法。我在推 特上@RudyLattae。我很欣赏建设性的批评或击掌:)

您有改进的建议吗?然后请创建一个包含您希望看到的详细信息的问题。我会看一下它并与您合作,要么扼杀这个想法,要么实施它。

变更日志

0.2b – 2011-02-11

  • 第一个公开测试版

  • 添加了基本匹配器:to_be_less_than、to_be_less_than_or_equal_to、to_be_greater_than、to_be_greater_than_or_equal_to、to_be_none、to_be_truthy、to_be_falsy、to_raise

  • 添加了“丰富的比较”匹配器:==、<、<=、>、>=

  • 文档:核心 API + 简单用户指南。

0.1a – 2011-02-01

  • 第一个公开的 alpha 版本

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

compare-0.2b.zip (25.3 kB 查看哈希

已上传 source