Ответ 1
Пустые списки /dicts оцениваются как False, поэтому self.assertTrue(d)
выполняет задание.
После отправки запросов службе я получаю словарь/список назад, и я хочу убедиться, что он не пуст. Я на Python 2.7.
Я удивлен, что не вижу метода assertEmpty
для экземпляра класса unittest.TestCase
.
Существующие альтернативы, такие как:
self.assertTrue(bool(d))
и
self.assertNotEqual(d,{})
и
self.assertGreater(len(d),0)
просто не выглядят правильно.
Является ли этот вид метода отсутствующим в растровой среде Python? Если да, то какой был бы самый питонический способ утверждать, что итерабельность не пуста?
Пустые списки /dicts оцениваются как False, поэтому self.assertTrue(d)
выполняет задание.
Зависит именно от того, что вы ищете.
Если вы хотите убедиться, что объект является итерируемым, и он не пуст:
# TypeError: object of type 'NoneType' has no len()
# if my_iterable is None
self.assertTrue(len(my_iterable))
Если для тестируемого объекта установлено значение None
:
self.assertTrue(my_maybe_iterable)
Может быть:
self.assertRaises(StopIteration, next(iterable_object))