Возможный дубликат:
Как создать динамические (параметризованные) модульные тесты в python?
Я пишу тесты с помощью пакета unittest, и я хочу избежать повторного кода. Я собираюсь выполнить ряд тестов, для которых требуется очень похожий метод, но каждый раз с одним значением. Простой и бесполезный пример:
class ExampleTestCase(unittest.TestCase):
def test_1(self):
self.assertEqual(self.somevalue, 1)
def test_2(self):
self.assertEqual(self.somevalue, 2)
def test_3(self):
self.assertEqual(self.somevalue, 3)
def test_4(self):
self.assertEqual(self.somevalue, 4)
Есть ли способ записать вышеприведенный пример без повторения всего кода каждый раз, но вместо этого писать общий метод, например
def test_n(self, n):
self.assertEqual(self.somevalue, n)
и сообщить unittest, чтобы попробовать этот тест с разными входами?