将unittest测试用例转换为pytest
项目描述
- 版本:
- 0.4
- 版权:
- 2015-2019 by Hartmut Goebel
- 许可证:
GNU公共许可证v3或更高版本(GPLv3+)
- 主页:
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.assertRaises 或 with self.assertWarns,它们将相应地转换为 pytest.raises 或 pytest.warns,但由于语义不同,对上下文管理器输出值的任何使用(例如 x 在 with pytest.raises(ValueError) as x:)将是错误的,并且在实际之后需要手动调整。
变更日志
0.4 (2019-06-30)
添加了对 assertDictContainsSubset 的支持。
如果需要,请将括号放在表达式周围。
修复了 assertRaisesRegex、assertRaisesRegexp 和 assertWarnsRegex。正则表达式被替换为未定义的变量 pattern。
修复了带有 **kwargs 和 atom 参数的 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)
初始发布
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装包 的信息。