跳转到主要内容

将unittest测试用例转换为pytest

项目描述

作者:

Hartmut Goebel <h.goebel@crazy-compilers.com>

版本:
0.4
许可证:

GNU公共许可证v3或更高版本(GPLv3+)

主页:

https://github.com/pytest-dev/unittest2pytest

https://secure.travis-ci.org/pytest-dev/unittest2pytest.png?branch=develop

unittest2pytest是一个工具,帮助将Python unittest测试用例重写为pytest测试用例。

与其他类似工具相比,此unittest2pytest

  • 处理关键字参数,

  • 处理单行测试用例和多行测试用例,

  • 在适当的地方使用上下文处理程序。

这是通过使用 lib2to3 和 Python 强大的 inspect 模块来实现的。

安装

要安装 unittest2pytest,只需运行

pip install unittest2pytest

用法

要打印出 unittest2pytest 将对特定源文件或目录进行的更改的 diff

unittest2pytest source_folder

将那些更改写入文件

unittest2pytest -w source_folder

将那些更改写入另一个目录

unittest2pytest -w source_folder --output-dir /some/where/else

默认情况下,这将为每个要更改的文件创建备份文件。您可以通过添加 -n 选项来不创建备份。如果您没有使用版本控制系统,请不要这样做。

要获取有关运行特定修复程序选项的更多信息,请运行 unittest2pytest --help 或阅读 lib2to3 文档。此工具建立在那个之上。

修复

可以使用以下方法找到可用修复程序的列表

$ unittest2pytest -l
Available transformations for the -f/--fix option:
remove_class
self_assert

注意:如果您的测试使用上下文管理器 with self.assertRaiseswith self.assertWarns,它们将相应地转换为 pytest.raisespytest.warns,但由于语义不同,对上下文管理器输出值的任何使用(例如 xwith pytest.raises(ValueError) as x:)将是错误的,并且在实际之后需要手动调整。

变更日志

0.4 (2019-06-30)

  • 添加了对 assertDictContainsSubset 的支持。

  • 如果需要,请将括号放在表达式周围。

  • 修复了 assertRaisesRegex、assertRaisesRegexp 和 assertWarnsRegex。正则表达式被替换为未定义的变量 pattern

  • 修复了带有 **kwargsatom 参数的 assertRaisesRegex 和 assertRaisesRegexp。

  • 使 assertRaisesRegex、assertRaisesRegexp 和 assertWarnsRegex 使用 match 关键字参数在 pytest.raises 中,而不是创建一个变量并在上下文管理器中进行 re.search 断言。

  • 添加了简短的开发者指南。

  • 移除了对 Python 3.0、3.1、3.2 的测试,添加了 3.6 和 3.7。

  • 将包作为通用 wheel 分发。

v0.3 (2016-07-26)

  • 添加了对 assertRaises / assertWarns 上下文管理器的支持。

  • 添加了对将 assertRaises 中的 lambda 参数转换为上下文管理器的支持。

  • 修复了一些不正确的转换。

  • 内部清理和修复。

v0.2 (2015-10-20)

  • 添加了对 assertRegex/assertRegexpMatches、assertNotRegex、assertRaisesRegex/assertRaisesRegexp、assertWarnsRegex 的支持。

  • unittest2pytest 现在是 pytest 的子项目。

  • 小修复。

v0.1 (2015-10-16)

  • 初始发布

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

unittest2pytest-0.4.tar.gz (35.5 kB 查看哈希)

上传时间

构建分布

unittest2pytest-0.4-py2.py3-none-any.whl (15.8 kB 查看哈希)

上传时间 Python 2 Python 3

由以下支持