2013年3月4日月曜日

Python3 で unittest する



Python3 で unittestする

unittest は Python の標準テスティングフレームワークです
というこでて、使ってみる

環境

$ python -V
Python 3.3.0



すごいシンプルなサンプル - 1


test_simple.py
import unittest

class TestSimple(unittest.TestCase):
    def test_equal(self):
        #3と3が等しいかテスト
        self.assertEqual(3, 3)
    
    def test_not_equal(self):
        #3と4が等しくないかテスト
        self.assertNotEqual(3, 4)

    def test_ture(self):
        #6と6が等価であることが正しいかテスト
        self.assertTrue(6 == 6)


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

実行結果
$ python test_simple.py 
...
----------------------------------------------------------------------
Ran 3 tests in 0.006s

OK

すごいシンプルなサンプル - 2


maxNum.py
def maxNum(x, y):
    if(x > y):
        return x
    else:
        return y

if __name__ == '__name__':
    maxNum(2, 3)

test_MaxNum.py
import maxNum
import unittest

class TestNumMax(unittest.TestCase):
    def test_numMax(self):
        #maxNumモジュールのmaxNumメソッドをに2と3を渡したら、3が返ってくるかテスト
        self.assertEqual(maxNum.maxNum(2, 3), 3)


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

実行結果
python test_MaxNum.py 
.
----------------------------------------------------------------------
Ran 1 test in 0.003s

OK

注意

テストを実行するメソッドの名前は test で始める

参考


26.3. unittest — ユニットテストフレームワーク
http://docs.python.jp/3.3/library/unittest.html#test-cases



0 コメント: