Python automated tests connect groups of test package instances
- 2020-04-02 14:13:37
- OfStack
This article is an example of how to connect several test packages in python automation test. Specific methods are as follows:
The specific code is as follows:
class RomanNumeralConverter(object):
def __init__(self):
self.digit_map = {"M":1000, "D":500, "C":100, "L":50, "X":10, "V":5, "I":1}
def convert_to_decimal(self, roman_numeral):
val = 0
for char in roman_numeral:
val += self.digit_map[char]
return val
import unittest
class RomanNumeralConverterTest(unittest.TestCase):
def setUp(self):
self.cvt = RomanNumeralConverter()
def test_parsing_millenia(self):
self.assertEquals(1000, self.cvt.convert_to_decimal("M"))
def test_parsing_century(self):
self.assertEquals(100, self.cvt.convert_to_decimal("C"))
class RomanNumeralConverterCombo(unittest.TestCase):
def setUp(self):
self.cvt = RomanNumeralConverter()
def test_multi_millenia(self):
self.assertEquals(4000, self.cvt.convert_to_decimal("MMMM"))
def test_add_up(self):
self.assertEquals(2010, self.cvt.convert_to_decimal("MMX"))
if __name__ == "__main__":
suite1 = unittest.TestLoader().loadTestsFromTestCase(RomanNumeralConverterTest)
suite2 = unittest.TestLoader().loadTestsFromTestCase(RomanNumeralConverterCombo)
suite = unittest.TestSuite([suite1, suite2])
unittest.TextTestRunner(verbosity=2).run(suite)
The operation results are as follows:
test_parsing_century (__main__.RomanNumeralConverterTest) ... ok
test_parsing_millenia (__main__.RomanNumeralConverterTest) ... ok
test_add_up (__main__.RomanNumeralConverterCombo) ... ok
test_multi_millenia (__main__.RomanNumeralConverterCombo) ... ok
----------------------------------------------------------------------
Ran 4 tests in 0.032s
OK
This article instance is basically the same as the previous articles, except in main:
suite1 = unittest.TestLoader().loadTestsFromTestCase(RomanNumeralConverterTest)
suite2 = unittest.TestLoader().loadTestsFromTestCase(RomanNumeralConverterCombo)
suite = unittest.TestSuite([suite1, suite2])
unittest.TextTestRunner(verbosity=2).run(suite)
I hope this article has helped you with your Python programming.