[英]How to unit test this lambda code?
說,我有類似以下Python代碼:
try:
from fabulous.color import fg256
format_info = lambda x: fg256(63, unicode(x, 'utf-8')).as_utf8
except ImportError:
format_info = lambda x: '\033[1;30m' + x + '\033[0m'
我怎樣才能對此進行單元測試?
值得測試嗎?
需要模擬import語句,以便切除兩個分支。 這是相當微不足道的 - 例如,模擬fg256
會產生raise ImportError
副作用。
匹配返回的字符串具有正確的控制字符很好,但感覺很脆弱。
你究竟要測試什么? 你似乎在這里有兩個不相關的案件;
檢查不使用您的代碼失敗並不是您的責任; 但是如果你想測試這個(也許是因為這是有人在一個熱門論壇上發布的代碼),我會把它分成兩個不同的測試。
我們不知道你的lambda應該返回什么,但從它的外觀來看,它應該返回一個類似於你在except
分支中指定的字符串?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.