【发布时间】:2016-01-17 22:08:17
【问题描述】:
向服务提交查询后,我得到了一个字典或列表,我想确保它不为空。我使用 Python 2.7。
我很惊讶unittest.TestCase 类实例没有任何 assertEmpty 方法。
现有的替代品看起来不太对:
self.assertTrue(bool(d))
self.assertNotEqual(d,{})
self.assertGreater(len(d),0)
Python unittest 框架中是否缺少这种方法?如果是,那么断言可迭代对象不为空的最pythonic 方式是什么?
【问题讨论】:
-
stackoverflow.com/questions/53513/… 可能会有所帮助。
-
好链接!我知道如何测试可迭代对象是否为空;正在寻找专门的 unittest 断言方法......很惊讶没有 assertEmpty/assertNotEmpty 方法 - 恕我直言,它会大大提高可读性,而不是在代码周围都有 assertTrue 和 assertFalse......
-
同意,只是觉得
assertTrue可能更干净一点。我认为我个人的偏好(也许是最具语义意义的选项)是断言 len != 0。我同意 assertEmpty/assertNotEmpty 方法在 unittest 框架中占有一席之地。 -
请注意,“iterable”比“lists or dictionaries”大得多,如果不实际迭代,一般无法判断可迭代对象是否为空。
标签: python python-2.7 unit-testing python-unittest assertion