Предположим, у меня есть огромный список в качестве вывода, который я хочу протестировать. Я создаю список с некоторыми случайными элементами, которые, по моему мнению, должны быть в моем списке результатов. Это то, что я придумал после прочтения документации:unittest: лучшая альтернатива assertIn
def TestMyList(unittest.TestCase):
def setUp(self):
self.mylist = #get my list from program output file
def test_list(self):
list_to_test_against = ['some', 'expected', 'elements']
for el in list_to_test_against:
self.assertIn(el, self.mylist)
Есть много проблем с кодом выше:
если
'some'
не вself.mylist
тогдаexpected
иelements
не будут проверены и AssertionError будет поднят, и python перейдет к следующему тесту. Я хочу знать, какой из элементов['some', 'expected', 'elements']
отсутствует, а не только первый элемент, который не был найден.Это полностью загрязняет STDOUT с огромным списком, имея в трубу его в журнал, чтобы проверить его