Субтест как функция в Python 2.7? - PullRequest
0 голосов
/ 26 февраля 2019

Как я могу написать контрольные примеры, как показано ниже в Python 2.7?У меня нет возможности использовать Pytest / Python3.

import unittest

class TestStringMethods(unittest.TestCase):
    def test_upper(self):
        tests = [
            ('foo', 'FOO'),
            ('too', 'TOO'),
            ('poo', 'POO'),
        ]
        for value, expected in tests:
            with self.subTest(value=value):
                self.assertEqual(value.upper(), expected)

if __name__ == '__main__':
    unittest.main()

Итак, я ищу замену «параметризованным осветителям в Pytest» и «функции подтестов unittest» в Python 2.7.

Я могу сделать что-то подобное ниже в Python2.7 но первое ошибочное утверждение выйдет из теста.Так как в моем Testcase есть только один метод, поэтому выполняется только один тест - несмотря на то, что один тест оценивает много утверждений.

class TestStringMethods(unittest.TestCase):
    def test_upper(self):
        self.assertEqual('foo'.upper(), 'FOO')
        self.assertEqual('too'.upper(), 'TOO')
        self.assertEqual('poo'.upper(), 'POO')

if __name__ == '__main__':
    unittest.main()

Если я хочу проверить каждое утверждение в отдельности, мне придется поместить каждое утверждение в свой метод, который будет громоздким.

...