如何对不带参数的python函数进行单元测试?

时间:2018-02-19 07:28:00

标签: python python-unittest

假设我有一个名为sample()的python函数。它不需要任何参数。它尽管返回一本字典。如何为这样的功能执行单元测试?我可以用200这样的状态代码进行测试吗?如何测试函数是否写得正确?

2 个答案:

答案 0 :(得分:0)

普通的python函数没有状态代码。状态代码是HTTP之类的部分协议。

您的测试可以调用该函数并检查结果是否为字典。在不了解您的功能的情况下,这是我唯一可以提出的建议。

答案 1 :(得分:0)

如果你的函数返回一个dict,你可以通过相等来测试它:

{
    'key': [1,2,3], 
    'other_key': None
}

这是最简单的情况,如果你的函数只返回没有参数的dict,那么你的dict很可能在每次调用时都有变化。所以你可以测试一些预期的内容。假设您将此dict作为函数返回值:

#  the key 'key' should exist
assert 'key' in function_to_test()

#  the 'key' value of the dict is an array with every time at least 1 value
assert len(function_to_test().get('key')) > 1

#  the 'other_key' field is always set to None
assert function_to_test().get('other_key') is None

然后你可以测试一些dict常量如下

{{1}}