我mutmut昨天用来评估我的一些项目的单元测试质量。我之前尝试过宇宙射线,但它无法使用(错误,性能)。我也试过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 中的这种类型的突变(我希望这也应该加快执行速度)。
1 回答

狐的传说
TA贡献1804条经验 获得超3个赞
对此有几个不同的答案:
__version__
不久前就在 mutmut 中列入白名单。您可以标记一条线
# pragma: no mutate
以不改变它。有一个具有高级白名单的新系统可以为您解决这个问题:https ://github.com/boxed/mutmut/#advanced-whitelisting-and-configuration
(对于速度,如果你可以使用hammett,试试吧,它的速度更快)
但是,没有系统可以禁用整个类别的突变。我真的不认为这是一个好工具,因为测试异常情况等错误情况非常重要,因为我发现这是 mutmut 发现的大多数错误所在!我同意,日志有点混杂,但这可以通过两个白名单系统来处理。
顺便说一句,我是 mutmut 的作者。下次,对于来自谷歌的任何人,请在 github 问题跟踪器中提问!我只是错误地偶然发现了这一点,7个月后。
添加回答
举报
0/150
提交
取消