У меня есть тест, который проверяет возвращаемое значение функции, проблема в том, что функция возвращает список кортежей, где каждый кортеж содержит целое число и объект ,проверить, что список содержит те же типы «объектов» python unittest
Объект имеет атрибуты с плавающей запятой, поэтому я хочу использовать assertAlmostEqual, но что-то похожее на «assertSameStructure» в списке.
Таким образом, в псевдо-коде, что я хочу сделать:
import unittest
class Test(unittest.TestCase):
def test_foo(self):
result = foo(data)
expected_obj = Bar(23.3,12.1)
self.assertSameStructure([0,expected_obj],result)
self.assertAlmostEquals(expected_obj,result[0][1])
'self.assertIsInstance (результат [0], INT) и' self.assertIsInstance (результат [1], Бар) '? – Blender
Результат @Blender может быть любым контейнером длины, а затем – wim
Вы можете написать метод assert, который вы хотите. Перемещайтесь по ожидаемым и фактическим спискам параллельно, и для каждого кортежа утверждайте, что вас интересует в отношении элементов. (Также, я думаю, вам не хватает скобок в вашем вызове.) – user2357112