我mutmut昨天用來評估我的一些項目的單元測試質(zhì)量。我之前嘗試過宇宙射線,但它無法使用(錯誤,性能)。我也試過mut.py了,但我也無法啟動那個。我發(fā)現(xiàn)使用 mutmut 時的一個問題是它給出了太多的誤報: 結(jié)果 - 根據(jù) mutmut - 至少一個單元測試應(yīng)該失敗,但它沒有。我觀察到的大多數(shù)情況都是字符串更改:# 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.")首先,所有這些都不應(yīng)該發(fā)生突變。我不想添加# pragma: no mutate所有這些行。我只是想刪除/跳過/忽略 mutmut 中的這種類型的突變(我希望這也應(yīng)該加快執(zhí)行速度)。
1 回答

狐的傳說
TA貢獻1804條經(jīng)驗 獲得超3個贊
對此有幾個不同的答案:
__version__
不久前就在 mutmut 中列入白名單。您可以標記一條線
# pragma: no mutate
以不改變它。有一個具有高級白名單的新系統(tǒng)可以為您解決這個問題:https ://github.com/boxed/mutmut/#advanced-whitelisting-and-configuration
(對于速度,如果你可以使用hammett,試試吧,它的速度更快)
但是,沒有系統(tǒng)可以禁用整個類別的突變。我真的不認為這是一個好工具,因為測試異常情況等錯誤情況非常重要,因為我發(fā)現(xiàn)這是 mutmut 發(fā)現(xiàn)的大多數(shù)錯誤所在!我同意,日志有點混雜,但這可以通過兩個白名單系統(tǒng)來處理。
順便說一句,我是 mutmut 的作者。下次,對于來自谷歌的任何人,請在 github 問題跟蹤器中提問!我只是錯誤地偶然發(fā)現(xiàn)了這一點,7個月后。
添加回答
舉報
0/150
提交
取消