Python 2.7 的变异测试工具

Posted

技术标签:

【中文标题】Python 2.7 的变异测试工具【英文标题】:Mutation testing tool for Python 2.7 【发布时间】:2014-11-15 06:07:54 【问题描述】:

在用 Python 编写另一个单元测试时,在了解了多种测试方法后,我很好奇如果我对我的代码执行突变测试会杀死多少突变体。

问题是我使用的是 Python 2.7,而我发现的唯一工具是 MutPy,它适用于 Python 3.x。

有人知道任何(稳定且受支持的)用于 Python 2.7 突变测试的工具吗?

【问题讨论】:

这对您没有任何帮助,但我只想说:本周我看到了 4 个问题,这些问题来自无法使用库的人,因为它是 3.x-only,只有 2 个不能使用库,因为它是 2.x-only,其中 2 个是错误的…… 无论如何,a quick search at PyPI 出现了多个候选人。你都看过了吗? 抱歉回复晚了,感谢您的评论。是的,我在 PyPI 搜索了一个工具,但没有找到任何符合我需求的工具,这就是我在这里问的原因。一个发现的工具太简单了——mutant 0.1,一个是 alpha 版本——pymutester 0.1.0,一个(正如我在问题中提到的)是用于 Python 3.x。列表的其余部分与突变测试没有严格的联系。 我假设其他 4 人会很快投票关闭,所以我不必在评论中解释,但由于这没有发生:像这样的“图书馆购物”问题t 适用于堆栈溢出。这并不是说它们是坏问题,只是它们不符合 SO 的工作方式。 Software Recommendations 可能很合适,但我不能保证。邮件列表和论坛可能会有所帮助。 如果您仍在寻找它,我们为 Python 2.7 提供了 xmutant。仍然是 alpha,但应该比其他选择更好。 【参考方案1】:

这是 Python2 的库:https://github.com/sk-/elcap

【讨论】:

感谢您的回答,但自 2012 年以来我看不到任何活动。而且(根据他们的自述文件)它是“这是一个早期版本”。【参考方案2】:

Mutmut 适用于 python 2.7 和 python 3.6。它也超级容易上手,并支持所有可以返回操作系统退出代码的测试运行器。

编辑:Mutmut 现在已经放弃了对 python 2.7 的支持。但是旧版本当然仍然可以在 python 2.7 上运行!

【讨论】:

以上是关于Python 2.7 的变异测试工具的主要内容,如果未能解决你的问题,请参考以下文章

在带有分组约束的 sklearn (python 2.7) 中创建训练、测试和交叉验证数据集?

变异测试变异算子构思路

变异测试变异算子构思路

变异测试(mutation testing):一种评估测试用例集错误检测能力的方法

变异测试(mutation testing):一种评估测试用例集错误检测能力的方法

python测试开发django-196.python3.8+django2+celery5.2.7环境准备