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.


Related articles: