【问题标题】:Can I disable string mutation in mutmut?我可以在 mutmut 中禁用字符串突变吗?
【发布时间】:2020-02-16 08:15:26
【问题描述】:

我昨天使用mutmut 来评估我的一些项目的单元测试质量。我之前尝试过cosmic-ray,但它无法使用(bugsperformance)。我也试过mut.py,但我也无法启动它。

我发现使用 mutmut 时的一个问题是它给出了太多的误报:结果 - 根据 mutmut - 至少一个单元测试应该失败,但它没有。我观察到的大多数情况都是字符串更改:

# mutmut adds 'XX' to the following strings:
__version__ = "0.1.2"
ValueError("Explanation about the cause of the error")
logging.info("Starting to execute xy.")

首先,所有这些都不应该发生突变。我不想在所有这些行中添加# pragma: no mutate。我只是想删除/跳过/忽略 mutmut 中的这种类型的突变(我希望这也应该加快执行速度)。

这可能吗?

【问题讨论】:

  • 我也在尝试解决这个问题。看起来你可能做不到。
  • 我最终克隆了存储库并在代码中禁用它。

标签: python python-3.x mutation-testing mutmut


【解决方案1】:

对此有几个不同的答案:

(为了速度,如果你可以使用hammett试试,它会更快)

虽然没有系统可以禁用整个突变类别。我真的不认为这是一个好工具,因为测试异常情况等错误情况非常重要,因为我发现这是 mutmut 发现的大多数错误所在!我同意,日志有点混杂,但这可以通过两个白名单系统来处理。

顺便说一句,我是 mutmut 的作者。下次,对于来自谷歌的任何人,请在 github 问题跟踪器中提问!我只是在 7 个月后偶然发现了这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-19
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    相关资源
    最近更新 更多