簡體   English   中英

如何對這個lambda代碼進行單元測試?

[英]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返回正確的信息

檢查不使用您的代碼失敗並不是您的責任; 但是如果你想測試這個(也許是因為這是有人在一個熱門論壇上發布的代碼),我會把它分成兩個不同的測試。

我們不知道你的lambda應該返回什么,但從它的外觀來看,它應該返回一個類似於你在except分支中指定的字符串?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM