Chciałbym powtórzyć listę elementów i uruchomić asercję na każdym z nich. Jednym z przykładów może być sprawdzenie, czy każda liczba na liście jest nieparzysta.Tworzenie instancji Python unittest.TestCase z argumentami
TestCase
:
class TestOdd(unittest.TestCase):
def runTest(self):
"""Assert that the item is odd"""
self.assertTrue(NUMBER %2==1, "Number should be odd")
test suite
:
if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(TestOdd())
# I would like to have:
# suite.addTest(TestOdd(1))
# suite.addTest(TestOdd(2))
# suite.addTest(TestOdd(3))
# ...
unittest.main()
Jak mogę instancji TestOdd
obiekt z argumentem - na przykład numer do badania?
Aktualizacja: Według wpisu na blogu z 2011 r. (Opublikowanego jako odpowiedź), nie ma wbudowanego mechanizmu do sparametryzowanych testów. Z radością przyjmuję wszelkie czystsze rozwiązania.
zobacz także: [Dostęp argparse argumenty z klasa] (http: //codereview.stackexchange. com/q/88655/15346) w CR – kenorb