【Jenkins備忘録】Python自動テスト環境構築②テストコード準備編
この記事はQiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。
・Python3.6.0をインストールしたところからスタート。
テストコードの準備
・Pythonのユニットテストには標準で用意されているunittestフレームワークを使用する。 詳しい使い方は、本家サイト(https://docs.python.org/dev/library/unittest.html) で確認
テスト対象コード
# -*- coding: UTF-8 -*- class Calculator(object): # 加算 def add(self, num1, num2): return num1 + num2 # 減算 def sub(self, num1, num2): return num1 - num2 # 乗算 def mul(self, num1, num2): return num1 * num2 # 除算 def div(self, num1, num2): return num1 // num2
テストコード
# -*- coding: UTF-8 -*- import unittest from calc import Calculator class Test_Calc_add(unittest.TestCase): # 加算テスト def test_add(self): print('Test add(self, num1, num2) ') calc = Calculator() result = calc.add(10, 20) self.assertEqual(result, 30, 'Match expected value') # 減算テスト def test_sub(self): print('Test sub(self, num1, num2) ') calc = Calculator() result = calc.sub(20, 6) self.assertEqual(result, 14, 'Match expected value') # 乗算テスト def test_mul(self): print('Test mul(self, num1, num2) ') calc = Calculator() result = calc.mul(3, 6) self.assertEqual(result, 18, 'Match expected value') # 除算テスト def test_div(self): print('Test div(self, num1, num2) ') calc = Calculator() result = calc.div(20, 5) self.assertEqual(result, 4, 'Match expected value') if __name__ == '__main__': unittest.main()
テストコードの実行
・calc.pyとtest_calc.pyを同じディレクトリ内に配置後、 以下のコードを端末で入力するとテストが実行される。
$ python test_calc.py Test add(self, num1, num2) .Test div(self, num1, num2) .Test mul(self, num1, num2) .Test sub(self, num1, num2) . ---------------------------------------------------------------------- Ran 4 tests in 0.000s OK