Zope测试助手
项目描述
zope.testing
此软件包提供了一系列测试框架。
有关完整文档,请参阅 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.interface 和 zope.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 方法,提供 filename 和 filepath 属性。
元数据很有用,例如,用于使用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.testrunner 和 zope.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 的测试。
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)
将 DocFileSuite、DocTestSuite、debug_src 和 debug BBB 导入重新添加到 zope.testing.doctestunit 中;显然,许多包仍然从那里导入它们!
弃用 zope.testing.doctest 和 zope.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.txt 和 testrunner-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 版本的独立项目。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。