Odpowiedzi te zostały od dłuższego czasu, ale myślę, że to najprostszy i także najbardziej czytelny sposób jest wykorzystanie unittest za to many nice assertions bez używania go dla struktura testowa.
Get twierdzeń, zignorować resztę unittest.TestCase
(na podstawie this answer)
import unittest
assertions = unittest.TestCase('__init__')
Dodać kilka twierdzeń
x = 0.00000001
assertions.assertAlmostEqual(x, 0) # pass
assertions.assertEqual(x, 0) # fail
# AssertionError: 1e-08 != 0
Wdrożenie automatycznego rozpakowywania badanie oryginalnych pytań
Wystarczy użyć *, aby rozpakować swoją wartość zwrotu bez potrzeby ng, aby wprowadzić nowe nazwy.
i_return_tuple_of_two_floats = lambda: (1.32, 2.4)
assertions.assertAlmostEqual(*i_return_tuple_of_two_floats()) # fail
# AssertionError: 1.32 != 2.4 within 7 places
py.test ma teraz funkcję, która to robi. – dbn
Zobacz [tę odpowiedź] (https://stackoverflow.com/a/39623614/5353461), aby uzyskać opis tej funkcji. –