繁体   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