跳转到主要内容

Zope测试助手

项目描述

zope.testing

Latest Version https://github.com/zopefoundation/zope.testing/actions/workflows/tests.yml/badge.svg Documentation Status

此软件包提供了一系列测试框架。

有关完整文档,请参阅 https://zopetesting.readthedocs.io

cleanup

提供用于清理在测试中对全局进行更改的混入类。

zope.testing.cleanup

formparser

一个HTML解析器,用于提取表单信息。

此功能旨在支持需要从发布者返回的HTML表单中提取信息的功能测试。

zope.testing.formparser

loggingsupport

测试日志代码的支持

如果您想测试您的代码是否生成正确的日志输出,您可以创建并安装一个收集输出的处理程序。

zope.testing.loggingsupport

loghandler

用于检查日志输出的日志处理程序。

zope.testing.loghandler

module

让doctest假装是一个Python模块。

zope.testing.module

renormalizing

正则表达式模式归一化输出检查器。对doctests很有用。

zope.testing.renormalizing

server

提供与zope.app.testing功能测试API兼容的简单HTTP服务器。允许您与被测试的系统进行交互式操作。在调试功能doctest失败时很有帮助。

仅适用于Python 2

zope.testing.server

setupstack

一个自动化doctest设置和拆卸的简单框架。

zope.testing.setupstack

wait

处理时间非确定性的小型实用工具。

zope.testing.wait

doctestcase

支持将doctests定义为 unittest.TestCase 类的方法,以便它们可以更容易地被测试运行器(如nose,它忽略测试套件)找到。

zope.testing.doctestcase

开始开发zope.testing

zope.testing 使用 tox。要开始,请使用 pip install tox 安装 tox。现在,运行 tox 以运行 zope.testing 测试套件。

变更

5.0.1 (2022-12-20)

  • 制作不再通用的轮子。

5.0 (2022-12-20)

向后不兼容的变更

  • 放弃对Python 2.7、3.5、3.6的支持。

  • 放弃不支持Python的模块。

    • zope.testing.loghandler

    • zope.testing.server

  • 放弃doctest选项 IGNORE_EXCEPTION_MODULE_IN_PYTHON2

  • 删除函数

    • zope.testing.renormalizing.strip_dottedname_from_traceback

    • zope.testing.renormalizing.is_dotted_name

特性

  • 添加对Python 3.11的支持。

4.10 (2022-03-07)

  • 在导入未移植到Python 3的模块时显示弃用警告。

  • 提高测试覆盖率。

  • zope.testing.formparser 移植到Python 3。

  • 添加对Python 3.10的支持。

4.9 (2021-01-08)

  • 如果当前目录为空,则使 setupstack.txt 测试再次工作。

4.8 (2021-01-04)

  • 添加对Python 3.8和3.9的支持。

  • 放弃对Python 3.3和3.4的支持。

  • 将 IGNORE_EXCEPTION_MODULE_IN_PYTHON2 扩展到也包括没有参数的异常(因此没有在traceback输出的最后一行上的冒号)。

4.7 (2018-10-04)

  • 添加对Python 3.7的支持。

4.6.2 (2017-06-12)

  • 删除对 zope.interfacezope.exceptions 的依赖;在这里它们没有被使用。

  • 删除对过时版本的PyPy3的2to3的使用,让我们构建通用轮子。

4.6.1 (2017-01-04)

  • 添加对Python 3.6的支持。

4.6.0 (2016-10-20)

  • 引入选项标志 IGNORE_EXCEPTION_MODULE_IN_PYTHON2 以在traceback输出中标准化异常类名。在Python 3中,它们显示为完整的点分名称。在Python 2中,它们显示为“仅”类名。在Python 3中运行doctests时,选项标志将没有任何影响;然而,在Python 2中运行相同的测试时,从“expected”字符串中删除了点分名称中到类名之前的部分。

  • 放弃对Python 2.6和3.2的支持。

  • 添加对Python 3.5的支持。

  • 清理了无用的2to3转换。

4.5.0 (2015-09-02)

  • 为使用 zope.testing.doctestcase 创建的测试用例方法添加元数据。

    • __name__ 提供合理的值,确保 __name__test 开头。

    • 对于 doctestfile 方法,提供 filenamefilepath 属性。

    元数据很有用,例如,用于使用nose属性机制选择测试。

  • 添加 doctestcase.doctestfiles

    • 一次性定义多个doctest文件。

    • 自动分配测试类成员。所以,而不是

      class MYTests(unittest.TestCase):
          ...
          test_foo = doctestcase.doctestfile('foo.txt')

      您可以使用

      @doctestcase.doctestfiles('foo.txt', 'bar.txt', ...)
      class MYTests(unittest.TestCase):
          ...

4.4.0 (2015-07-16)

  • 增加 zope.testing.setupstack.mock 作为设置测试中模拟的便利函数。(Python mock 包必须位于路径中才能正常工作。出色的 mock 包不是 zope.testing 的依赖项。)

  • 增加基类 zope.testing.setupstack.TestCase,使得在 unittest 测试用例中使用 zope.testing.setupstack 变得更加容易。

4.3.0 (2015-07-15)

  • 增加支持将 doctests 作为 unittest.TestCase 类的方法创建,以便测试运行器(如忽略测试套件的 nose)可以自动找到它们。

4.2.0 (2015-06-01)

  • 实际上 移除了长期废弃的 zope.testing.doctest(在 4.0.0 版本中宣布移除)和 zope.testing.doctestunit

  • 添加了对 PyPy 和 PyPy3 的支持。

4.1.3 (2014-03-19)

  • 添加了对 Python 3.4 的支持。

  • boostrap.py 更新到版本 2.2。

4.1.2 (2013-02-19)

  • 调整 Trove 分类器以反映当前支持的 Python 版本。正式放弃 Python 2.4 和 2.5。添加 Python 3.3。

  • LP: #1055720:修复由于异常消息更改而导致在 Python 3.3 上失败的测试。

4.1.1 (2012-02-01)

  • 修复:Windows 测试失败。

4.1.0 (2012-01-29)

  • zope.testing.setupstack 添加上下文管理器支持。

  • 使 zope.testing.setupstack 可用于所有测试,而不仅仅是 doctests,并添加了 zope.testing.setupstack.globs,这使得编写与 doctests 和其他类型的测试一起工作的测试设置代码变得更加容易。

  • 添加了 wait 模块,这使得处理非确定性的时间问题变得更加容易。

  • zope.testing.renormalizing.RENormalizing 重命名为 zope.testing.renormalizing.OutputChecker。旧名称是一个别名。

  • 更新测试以在 Python 3 上运行。

  • 更清晰地标记出受 Python 3 支持的功能。

  • 重新组织文档。

4.0.0 (2011-11-09)

  • 移除了废弃的 zope.testing.doctest

  • 添加 Python 3 支持。

  • 修复测试,如果当前工作目录中有名为 Data.fs 的文件,则测试会失败。

3.10.2 (2010-11-30)

  • 修复损坏的符号链接处理的测试,使其在 Windows 上不会出错。

3.10.1 (2010-11-29)

  • 修复 Unix 上删除损坏的符号链接的问题。

3.10.0 (2010-07-21)

  • 移除 zope.testing.testrunner,现在它已移动到 zope.testrunner。

  • 更新 LP #221151 的修复,使其与 Python 2.4 兼容。

3.9.5 (2010-05-19)

  • LP #579019:当层并行运行时,确保每个 tearDown 都被调用,包括在主线程中运行的第一个层。

  • 废弃 zope.testing.testrunnerzope.testing.exceptions。它们已移动到单独的 zope.testrunner 模块,并且将在 4.0.0 版本中与 zope.testing.doctest 一起移除。

3.9.4 (2010-04-13)

  • LP #560259:修复 subunit 输出格式化器以处理层设置错误。

  • LP #399394:向测试运行器添加 --stop-on-error / --stop / -x 选项。

  • LP #498162:向测试运行器添加 --pdb 别名,用于现有的 --post-mortem / -D 选项。

  • LP #547023:向测试运行器添加 --version 选项。

  • 添加对 LP #144569 和 #69988 的测试。

    https://bugs.launchpad.net/bugs/69988

    https://bugs.launchpad.net/zope3/+bug/144569

3.9.3 (2010-03-26)

  • zope.testing.renormalizer 中移除对 zope.testing.doctest 的导入。

  • testrunner-layers-ntd.txt 中抑制输出到 sys.stderr

  • 在运行我们自己的测试套件时,抑制 zope.testing.doctest 废弃警告。

3.9.2 (2010-03-15)

  • 修复损坏的 from zope.testing.doctest import *

3.9.1 (2010-03-15)

  • 无更改;重新上传以修复 PyPI 上损坏的 3.9.0 版本。

3.9.0 (2010-03-12)

  • 修改测试运行器,使用标准的 Python doctest 模块,而不是已弃用的 zope.testing.doctest

  • 修复 testrunner-leaks.txt,以使用 run_internal 辅助函数,这样在测试运行期间不会触发 sys.exit

  • 添加对请求时条件使用基于 subunit 的输出格式化器的支持,如果存在 subunit 和 testtools。由 Jonathan Lange 贡献的补丁。

3.8.7 (2010-01-26)

  • zope.testing.doctest 的弃用警告降级为 PendingDeprecationWarning。

3.8.6 (2009-12-23)

  • 添加 MANIFEST.in 并重新上传以修复 PyPI 上损坏的 3.8.5 版本。

3.8.5 (2009-12-23)

  • DocFileSuiteDocTestSuitedebug_srcdebug BBB 导入重新添加到 zope.testing.doctestunit 中;显然,许多包仍然从那里导入它们!

  • 弃用 zope.testing.doctestzope.testing.doctestunit,改用 stdlib 的 doctest 模块。

3.8.4 (2009-12-18)

  • 修复由 pyflakes 报告的缺少导入和未定义变量,并添加测试以练习盲点。

  • 清理 pyflakes 报告的未使用导入。

  • 添加两个新选项以生成随机顺序的测试列表,以及选择特定的测试顺序。

  • 现在允许通过 + 组合 RENormalizing 检查器:checker1 + checker2 创建一个具有两个检查器转换的检查器。

  • 修复 Python 2.7 下的测试。

3.8.3 (2009-09-21)

  • 修复在包含空格的目录中运行时由于在文件名上使用 split() 而导致的测试失败。

  • 修复在 Windows 上针对 -j2(或更大)结合 -v(或更大)的测试运行器行为。

3.8.2 (2009-09-15)

  • 当使用 Python 2.6 时移除 hotshot 性能分析器。这使得 zope.testing 与 Python 2.6 兼容。

3.8.1 (2009-08-12)

  • 避免将 sys.argv[0] 作为脚本硬编码;允许,例如,Zope 2 的 bin/instance test(LP#407916)。

  • 当子进程不遵循 zope.testing.testrunner 协议时,生成清晰的错误信息(LP#407916)。

  • 避免在只有一个子进程的情况下无谓地抑制子进程的详细输出。

  • 避免无谓地批处理子进程输出,这可能阻碍自动化和人工过程识别挂起的测试。

  • 当有多个子进程且请求 -vv 或更高级别的详细级别时,包含增量输出。这同样不是批处理的,支持自动化过程和寻找挂起测试的人类。

3.8.0 (2009-07-24)

  • 允许测试运行器将 unittest.TestCase 的后代包括在测试模块中,这些模块不再需要提供 test_suite()

3.7.7 (2009-07-15)

  • 通过将其转换为始终启用的功能并明确依赖 zope.exceptions 来清理支持显示带有补充的回溯的功能。

  • 修复 #251759:防止测试运行器进入不是 Python 包的目录。

  • 代码清理。

3.7.6 (2009-07-02)

  • 添加 zope-testrunner console_scripts 入口点。这公开了一个 zope-testrunner 脚本,默认安装允许从命令行运行测试运行器。

3.7.5 (2009-06-08)

  • 修复在 Windows 上运行子进程时的错误。

  • 现在即使 doctest 声明自己的 REPORTING_FLAGS,例如 REPORT_NDIFF,也会尊重 REPORT_ONLY_FIRST_FAILURE(命令行选项“-1”)选项。

  • 修复在 doctest 使用时破坏 readline 的 pdbs 的错误(参见 http://bugs.python.org/issue5727)。

  • 使测试同时在 Windows 和 Linux 上通过。

3.7.4 (2009-05-01)

  • 现在doctest示例的文件名包含行号,而不仅仅是示例号。因此,pdb中的堆栈跟踪现在可以显示当前示例的确切行号。这解决了https://bugs.launchpad.net/bugs/339813

  • doctest输出的颜色化正确处理了空行。

3.7.3 (2009-04-22)

  • 改进了对恶意线程的处理:始终以状态退出,即使旋转的守护线程也不会阻止运行器退出。这已经弃用了--with-exit-status选项。

3.7.2 (2009-04-13)

  • 修复了在Python 2.4上测试失败的问题,原因是报告覆盖率的方式略有不同(现在不再报告仅有一行注释的__init__文件)。

  • 修复了测试运行器在运行子进程时挂起的问题(因此Python 2.3不再受支持)。

  • 绕过了Python 2.6中的一个bug(与http://bugs.python.org/issue1303673相关),该bug导致配置文件测试失败。

  • buildout.cfg中添加说明注释,说明如何使用多个Python版本运行测试。

3.7.1 (2008-10-17)

  • setupstack临时目录支持现在正确处理只读文件,在删除之前将其设置为可写。

3.7.0 (2008-09-22)

  • 添加了用于使用我们的测试运行器运行所有测试的替代setuptools / distutils命令。参见‘zope.testing.testrunner.eggsupport:ftest’。

  • 添加了一个与setuptools兼容的测试加载器,该加载器跳过了带有层的测试:由setup.py test使用的测试运行器不知道它们,然后这些测试会失败。参见zope.testing.testrunner.eggsupport:SkipLayers

  • 添加了对Jython的支持,当发送垃圾收集器调用时。

  • 在Jython上添加了启动支持。

  • 修复了StartUpFailure中的NameError。

  • 以通用模式打开doctest文件,以便可以在Linux等系统上测试在Windows上发布的包。

3.6.0 (2008-07-10)

  • 向子进程中并行运行的测试添加了-j选项。

  • RENormalizer接受纯Python可调用对象。

  • 添加了--slow-test选项。

  • 添加了--no-progress--auto-progress选项。

  • 将测试运行器彻底重构为多个代码文件和一个更模块化(类似管道)的架构。

  • 通过引入真正的单元测试层,将单元测试与层支持统一起来。

  • zope.testing.module添加了doctest。修复了几个bug。

    • README.txt是模块名称的一个非常糟糕的默认参数,因为它不是一个正确的点分名称。代码会立即失败,因为它会在README包中查找txt模块。默认现在为__main__

    • tearDown函数没有清理全局字典中的__name__条目。

  • 修复了一个bug,该bug会导致如果子进程向stderr发送任何输出,就会生成SubprocessError。

  • 修复了一个bug,该bug会导致在子进程中运行时跳过单元测试。

3.5.1 (2007-08-14)

  • 为层设置失败调用事后调试。

3.5.0 (2007-07-19)

  • 确保测试运行器在Python 2.5上工作。

  • 添加了对cProfile的支持。

  • 添加了输出颜色化(-c选项)。

  • 添加了--hide-secondary-failures--show-secondary-failures选项(https://bugs.launchpad.net/zope3/+bug/115454)。

  • 修复了doctests中的Unicode问题。

  • 修复了Unix-like系统上的“从子进程读取错误”错误。

3.4 (2007-03-29)

  • 添加了对exit-with-status的支持(支持与buildbot和zc.recipe.testing一起使用)。

  • 添加了一个用于自动化doctest测试的设置和清理的小型框架。参见setupstack.txt

  • 允许 testrunner-wo-source.txttestrunner-errors.txt 在只读源树中运行。

3.0 (2006-09-20)

  • 更新 doctest 复制,支持文本文件编码。

  • loggingsuppport 模块添加日志级别支持。

  • 在详细程度级别 1,点号不会连续输出,没有任何换行。

  • 改进无法拆卸层导致测试在子进程中运行时的输出。

  • 仅在请求 zope_tracebacks 额外功能时,将 zope.exception 作为必需项。

  • 修复测试覆盖率。如果某个模块(例如 interfaces)位于被忽略的目录/包中,那么如果同名模块存在于被覆盖的目录/包中,则它也在这里被忽略,因为忽略缓存按模块名称存储结果,而不是模块的文件名。

2.0 (2006-01-05)

  • 发布与 Zope 3.2.0 版本一起发布的 zope.testing 版本的独立项目。

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面