Changelog

nose2使用语义版本控制(当前为0.x)和流行的“keep a changelog”格式(v1.0.0)。

在任何版本中,nose2都尽量不破坏向后兼容性。在v1.0之前,版本是有编号的 0.MAJOR.MINOR 。主要版本引入了新功能或包含必要的突破性更改。次要版本主要用于错误修复或不太可能破坏用户测试套件的小功能。

未发布

0.14.1(2024-01-28)

  • 修复了在较新的 Python (3.12.1+)上以详细模式报告跳过的测试,在该模式下,跳过的测试不再被视为“已开始”。

    nose2 将不会引入 StartTestEvent 在这种情况下,修复是狭义的,并对测试报告进行调整。

0.14.0(2023-10-04)

  • 添加官方对…的支持 python3.12

  • 移除对以下各项的支持 python3.6python3.7

0.13.0(2023-04-29)

  • 删除对python2和较早的python3版本的支持

  • 修复了对python3.12的支持,以避免有关 addDuration 。感谢 @cclauss 为了解决问题!

  • nose2 包元数据被转换为pyproject.toml格式,使用 setuptools 。建房 nose2 来自源代码的包现在需要 setuptools>=61.0.0 或与PEP 517兼容的构建前端(例如 build )。

  • nose2 许可元数据的格式和内容已更正,以便在SDIST和WELL分发版中正确分发。谢谢 @musicinmybrain 感谢您帮助研究这一问题!

0.12.0(2022-07-16)

备注

0.12.x系列将是的最终版本 nose2 它支持Python2。

改变

  • 传球 --junit-xml-path 现在隐含着 --junit-xml 在使用Junitxml插件时。这意味着 --junit-xml 在以下情况下可以省略标志 --junit-xml-path 是指定的。 (#521 )

  • 消除对…的依赖 coverage 。现在使用Coverage插件需要您安装 coverage 独立,或使用额外的, nose2[coverage_plugin] 。结果, nose2 不再具有任何严格的依赖关系

  • 消除对…的依赖 six ,取而代之的是使用卖方提供的副本。这确保了对 nose2 不与应用程序依赖项冲突

远离的

  • nose2 不再提供基于当前Python版本命名的入口点,例如 nose2-3.8 在 Python 3.8上。只有 nose2 提供了命令。

  • 移除对以下各项的支持 setup.py test 在……上面 nose2 它本身。SetupTools不建议使用这种用法。开发人员为 nose2 鼓励您使用 tox 运行 nose2 的测试套件,根据贡献指南。

0.11.0(2022-02-12)

这是的第一个版本 nose2 使用 sphinx-issues 在ChangeLog中对贡献者进行表彰。

补充

  • 测试类现在将其简短描述(文档字符串的第一行)打印在详细输出中

  • Junitxml插件现在设置 timestamp 在每一个上 testcase 节点作为ISO-8601时间戳。感谢 @deeplow 感谢大家的贡献!

改变

  • 取消对Python3.5的支持

  • 现在正式支持Python3.10。将尽最大努力支持Python3.11-dev。感谢 @hugovk@tirkarthi 感谢他们的贡献!

  • nose2 source code is now autoformatted with black and isort

  • nose2 has switched its main development branch from master to main

  • 现在使用以下方式发布版本 build

固定的

  • 在使用多处理插件运行时添加对测试类的支持。感谢 @ltfish 对于最初的捐款和 @stefanholek 对于这一变化的提炼!

  • 各种文档修复

0.10.0(2021-01-27)

补充

  • 支持子测试!

插件作者关于子测试支持的注意事项:

  • 子测试失败将产生 TestOutcomeEvent 使用 outcome = "subtest"

  • 子测试事件可以是失败的,但它们并不表示成功--如果没有子测试失败,则包含的测试将发送成功事件

改变

  • 取消对Python 3.4的支持

  • 现在正式支持Python 3.8和3.9

  • 改进多进程插件的帮助文本 -N 选项

  • 当以较低的冗余度运行时(例如,使用 -q ), nose2 将不再在测试报告前打印空行

固定的

  • 插件注册表将不再包含重复的插件和/或基础 event.Plugin 实例

  • 修复功能测试用例实现 id__str__ ,以及 __repr__ 。这将移除注入的 transplant_class.<locals> 从报告输出

  • Doctest加载现在将跳过 setup.py 项目根目录中的文件

  • 修饰的类方法(例如,用 mock.patch )不再被函数加载器错误地拾取

0.9.2(2020-02-02)

补充

  • 添加 --junit-xml-path 添加到junit插件参数列表中。

固定的

  • 现在可以同时使用多进程和覆盖率插件,只要所有的覆盖率配置都放在配置文件中

  • 与较新的 Python (3.8,3.9)兼容的小改动

0.9.1(2019-04-02)

改变

  • 教授插件现在使用 cProfile 而不是 hotshot 用于性能分析,因此现在支持不包含以下内容的python版本 hotshot

  • 跳过的测试现在在junit XML中包含用户的原因 message 字段

固定的

  • prettyassert插件处理不当的多行函数定义

  • 当插件已经通过config启用时,使用插件的cli标志不再出错--而是一个no op

0.9.0(2019-03-17)

补充

  • nose2.plugins.paytyassert,启用 --pretty-assert ,它漂亮地打印AssertionError由 assert 报表

改变

  • 将trove分类器从“alpha”状态更新为“beta”

  • eoled python版本的清理代码

远离的

  • 已放弃对以下各项的支持 distutils 。安装现在需要 setuptools

固定的

  • 结果报告程序尊重其他插件设置的故障状态

  • JUnitXML插件现在在其输出中包含跳过原因

0.8.0(2018-07-31)

补充

  • 添加代码以启用文档插件

远离的

  • 对python 3.3的放弃支持

固定的

  • 对于JUnitXML插件,如果不存在类名,请使用测试模块代替类名

0.7.4(2018-02-17)

补充

  • 安装工具调用现在处理覆盖率

改变

  • 正在运行 nose2 通过 setuptools 现在将触发 CreateTestsEventCreatedTestSuiteEvent

固定的

  • 敬重 fail_under 在覆盖配置中

  • 从压缩蛋加载安装工具时避免无限递归

  • 现在,手册页呈现可重复性

  • MP文档生成现在可复制

0.7.3(2017/12/13)

补充

  • 支持python 3.6。

固定的

  • 由于.coveragerc不在清单中,测试失败

0.7.2(2017/11/14)

包括对版本的更改 0.7.1 ,从未发布过。

固定的

  • 用docstring分层进行适当的测试缩进

  • MP插件现在调用子进程中的StartSubprocess

改变

  • 添加makefile以启用“快速启动”工作流

  • 已删除bootstrap.sh和test.sh

固定的

  • 覆盖率报告期间自动创建.coverage文件

  • 更好地处理导入失败

0.7.0(2017-11-05)

注意:v0.7.0删除了几个不受支持的python版本

补充

  • 添加层设备事件和挂钩

  • JUnit XML:在“System Out”中添加日志

  • 向加载器提供完整的exc_信息。加载测试失败

改变

  • 将cov core替换为cover插件中的cover

  • 当无法导入testname时给出更好的错误

  • 当测试无法加载时出错率更好

  • 允许在python 3上组合MP和outputbuffer插件

远离的

  • 丢弃了不受支持的python 2.6、3.2、3.3

  • nose2.compat 因为不再需要它而被删除。如果你有 from nose2.compat import unittest 在代码中,需要用替换它 import unittest .

固定的

  • 防止因unicodedecode错误而崩溃

  • 修复Unicode流编码

0.6.5(2016-06-29)

补充

  • 添加 nose2.__version__

0.6.4(2016-03-15)

固定的

  • MP永远不会产生比测试更多的进程。例如,当仅运行一个测试时,仅派生一个进程

0.6.3(2016-03-01)

改变

  • 添加对python 3.4、3.5的支持

0.6.2(2016-02-24)

固定的

  • 修复覆盖率的覆盖率插件测试==3.7.1

0.6.1(2016-02-23)

固定的

  • 缺少添加到包中的测试文件。

0.6.0(2016-02-21)

补充

  • JUnit XML报表支持属性

  • 添加 createdTestSuite 事件,在测试加载后激发

改变

  • 提高测试覆盖率

  • 改进CI

  • 当测试加载失败时,打印回溯

固定的

  • JUnit XML插件已在Windows上修复

  • 在尝试加载测试之前确保它们是可导入的

  • 当安装失败时,测试失败而不是跳过它

  • 使 collect 插件与层一起工作

  • 修正覆盖率插件以考虑导入时间覆盖率

0.5.0(2014-09-14)

补充

  • 使用“设置”和“拆卸”装饰器设置函数的设置和拆卸

  • 用于跳过测试的DunderTests插件 __test__ == False

  • cartesian_params decorator

  • 覆盖插件

  • 用于在鸡蛋中发现测试的发现仪

  • 支持 params 具有 such

  • 在JUnit XML中包括日志记录输出

改变

  • such 如果未加载层插件,则早期出错

  • 允许使用 nose2.main() 从测试模块中

固定的

  • 这样的DSL忽略了两个 such.A 描述相同

  • 将跳过的测试记录为“跳过”而不是“跳过”

  • Unicode字符的结果输出失败

  • 修复Windows上的多处理插件

  • 确保插件写入事件流

  • 多处理可能会锁定主进程并无法退出

  • JUnit报告路径对CWD中的更改敏感

  • 如果测试用例 __init__ 引发异常

  • 插件失败不再使整个测试运行崩溃

  • 处理测试设置和拆卸中的错误

  • 修复xfail测试的报告

  • 日志捕获等待时间太长,无法将可变对象呈现为字符串

  • 层插件没有从更高版本运行testsetup/testeardown such

0.4.7(2013-08-13)

补充

  • 启动dir配置选项。多亏了圣潘·克莱恩。

  • 详细标志的帮助文本。感谢蒂姆·桑普森。

  • 在自述文件中添加了徽章。多亏了奥马尔卡茨。

改变

  • 更新了六个版本的要求,以减少限制。多亏了圣潘·克莱恩。

  • 清除了许多PEP8违规行为。多亏了奥马尔卡茨。

固定的

  • 已修复collector.py中损坏的导入。感谢肖恩·克拉普顿。

  • 修复了MP插件中的进程命令行选项。感谢蒂姆·桑普森。

  • 修复了多进程插件中类设备的处理。感谢蒂姆·桑普森。

  • 修复了由不确定的密钥排序导致的间歇性测试失败。多亏了圣潘·克莱恩。

  • 修复了printhooks中的语法错误。感谢蒂姆·桑普森。

  • 已修复变更日志中的格式设置。多亏了奥马尔卡茨。

  • 修正了文档和示例中的拼写错误。感谢蒂姆·桑普森。

0.4.6(2013-04-07)

改变

  • docs note支持python 3.3。感谢Omer Katz的错误报告。

固定的

  • 修复了python 2.7上编译器包的拒绝警告。谢谢麦克斯·阿诺德。

  • 修复了JUnitXML异常报告中缺少时间信息的问题。谢谢维亚切斯拉夫·杜卡斯基。

  • 已清除JUnitXML XML输出。谢谢菲利普·泰姆。

0.4.5(2012-12-16)

固定的

  • 修复了attrib和layers插件之间的中断交互。它们现在可以一起使用。谢谢@fajpunk。

  • 修复了层设置/拆卸和测试设置/测试拆卸方法的错误调用顺序。再次感谢@fajpunk的测试和修复。

0.4.4(2012-11-26)

固定的

  • 固定的层排序键生成。

0.4.3(2012-11-21)

固定的

  • 非安装工具的固定包装,python 2.7之前版本。感谢Fajpunk的帮助。

0.4.2(2012-11-19)

补充

  • 补充 uses 方法到 such.Scenario 允许在此类DSL测试中使用外部定义的层。

固定的

  • 修复了不可预知的层测试顺序。

0.4.1(2012-06-18)

包括对版本的更改 0.4 ,从未发布过。

固定的

  • 修复了包装错误。

补充

  • nose2.plugins.layers支持Zope测试风格的夹具层。

  • nose2.tools.such,一个类似DSL的规范,用于编写带有层的测试。

  • nose2.plugins.loader.load tests以支持unittest2加载测试协议。

0.3(2012-04-15)

补充

  • nose2.plugins.mp支持跨多个进程分发测试运行。

  • nose2.plugins.testclasses支持从非unittest.testcase子类的普通类加载测试。

  • nose2.main.PluggableTestProgram 现在接受一个 extraHooks 关键字参数,允许将任意对象附加到挂钩系统。

改变

  • 默认脚本目标已从更改为 nose2.mainnose2.discover . 前者仍然可以用于运行单个测试模块,UnitTest样式。后者忽略了 module 参数。感谢@dtcaciuc提供的错误报告(32)。

固定的

  • 修复了导致跳过原因始终设置为 None .

0.2(2012-02-06)

补充

  • nose2.plugins.junit xml支持junit xml输出

  • nose2.plugins.attrib支持按属性筛选测试

改变

  • 添加了aftertestren挂钩并将结果报告输出调用移动到该挂钩。这可以防止StopTestRun挂钩出现插件排序问题(该挂钩仍然存在,并在测试运行后激发)。

固定的

  • 修复了按名称加载测试时导致导入错误被静默忽略的错误。

  • 修复了几个模块中丢失的单元测试标志。感谢Wouter Overmeire的贴片。

  • 固定模块夹具调用函数、生成器和参数测试。

  • 修复了将命令行参数值传递给列表选项的问题。在此修复之前,列表列表将附加到选项目标。现在,选项目标列表扩展为新值。感谢Memedough的错误报告。

0.1(2012-01-19)

首次发布。