python自動化テストの接続いくつかのテストパッケージインスタンス

2517 ワード

この例では、python自動化テストのいくつかのテストパッケージを接続する方法について説明し、参考にしてください.具体的な方法は以下の通りです.
具体的なコードは以下の通りです.

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) 


実行結果は次のとおりです.

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


この例は、mainでのみ異なる前の記事とほぼ一致しています.

suite1 = unittest.TestLoader().loadTestsFromTestCase(RomanNumeralConverterTest) 
  suite2 = unittest.TestLoader().loadTestsFromTestCase(RomanNumeralConverterCombo) 
  suite = unittest.TestSuite([suite1, suite2]) 
  unittest.TextTestRunner(verbosity=2).run(suite)


ここで述べたことが皆さんのPythonプログラム設計に役立つことを願っています.