Repolode
nose-devs

nose-devs/nose2

基于 unittest 扩展的 Python 测试运行器,支持插件、测试发现和参数化测试,是 nose 的后继项目。

Star
829
Fork
139
未关闭 Issue
46
最近提交
前天

这是什么?

nose2 是一个基于 Python 标准库 unittest 模块构建的测试运行器。它会查找文件名以 "test" 开头的测试文件,并同时运行 unittest 风格的测试用例和普通测试函数,已有的 unittest 测试集通常无需修改即可运行。

在 unittest 的基础上,nose2 提供了 params 装饰器用于参数化测试,还有 pretty-assert 选项,在断言失败时展示更详细的变量值。它的行为可以通过插件进行配置和扩展。

nose2 是独立于 nose 的项目,并不支持 nose 的全部行为。对于新项目,项目方也建议考虑社区更大的 pytest。

核心功能

  • 01自动发现并运行文件名以 test 开头的 unittest 用例和普通测试函数。
  • 02提供 params 装饰器,用于编写参数化测试。
  • 03提供 --pretty-assert 选项,断言失败时展示详细变量值。
  • 04支持通过插件系统扩展测试行为。
  • 05需要 Python 3,支持当前受支持的 CPython 版本。

适用场景

  • 为基于 unittest 的现有 Python 项目提供更灵活的测试发现和配置。
  • 在不引入第三方框架的情况下编写参数化测试。
  • 将过去使用 nose 的遗留项目迁移到仍在维护的后继工具。

快速上手

  1. 1

    编写一个简单的 unittest 风格测试文件

  2. 2

    以详细输出模式运行测试

    nose2 -v

使用前须知

  • 并非支持 nose 的全部行为,不能直接替代 nose。
  • 维护团队和社区规模小于 pytest。
  • 不再支持 Python 2。

收录于专题

标签

#python#testing#unittest#test-runner#unit-test#library#nose#nose2#nosetest#nosetests

常见问题

nose2 是什么?
基于 unittest 扩展的 Python 测试运行器,支持插件、测试发现和参数化测试,是 nose 的后继项目。 nose2 是一个基于 Python 标准库 unittest 模块构建的测试运行器。它会查找文件名以 "test" 开头的测试文件,并同时运行 unittest 风格的测试用例和普通测试函数,已有的 unittest 测试集通常无需修改即可运行。
nose2 可以免费使用吗?用的什么许可证?
nose2 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
nose2 还在维护吗?
活跃维护中。nose2 最近一次提交是在 2026年11月5日。
nose2 适合用来做什么?
为基于 unittest 的现有 Python 项目提供更灵活的测试发现和配置。 在不引入第三方框架的情况下编写参数化测试。 将过去使用 nose 的遗留项目迁移到仍在维护的后继工具。
nose2 怎么安装和运行?
编写一个简单的 unittest 风格测试文件 以详细输出模式运行测试: nose2 -v
在哪里获取 nose2?
源代码和安装说明在 GitHub 上:https://github.com/nose-devs/nose2

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目