说,我有类似下面的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
的副作用。
匹配返回的字符串具有正确的控制字符很好,但感觉很脆弱。
答案 0 :(得分:0)
您想要测试的究竟是什么?你似乎在这里有两个无关的案例;
检查不使用您的代码失败并不是您的责任;但是如果你想测试它(也许是因为这是有人在一个热门论坛上发布的代码),我会把它分成两个不同的测试。
我们不知道你的lambda应该返回什么,但从它的外观来看,它应该返回一个类似于你在except
分支中指定的字符串的字符串?