我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
提交
取消