Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Как параметризировать unittest в python?


(Виталий Коряков) #1

Привествую.
Подскажите по параметризации unittest.
Имеем, к примеру, список параметров для тестиррования.
params = [aa, bb, cc]
Каким образом параметризировать тест, что бы он запускался с каждым их параметров?

import unittest
from tests.test import Test

def suite():
    suite = unittest.TestSuite()
    suite.addTest(Test('test'))
    return suite

if __name__ == '__main__':
    runner = unittest.TextTestRunner(failfast=True)
    runner.run(suite())

(Виталий Коряков) #2

Ой, вы знаете, я разобрался уже сам ))
Сори за офтоп ))

import unittest
from unittest import TestLoader

from tests.test import Test

params = ['a', 'b', 'c']

if __name__ == '__main__':
    for param in params:
        suite = unittest.TestSuite()
        loader = TestLoader()
        test = Test
        test.param = param

        tests = loader.loadTestsFromTestCase(test)
        suite.addTest(tests)
        unittest.TextTestRunner().run(suite)

(rmerkushin) #3

А почему используете именно unittest, а не py.test или nose?

P.S.: Еще для параметризации и других плюх поглядите Hypothesis


(Виталий Коряков) #4

Так сложилось исторически )