Pythonベース-ユニットテスト-unittest.TestCase(setupとtearDown)

4257 ワード

ユニットテスト


ユニットテストは、モジュール、関数、またはクラスに対して正確性検査を行うためのテスト作業です.

テスト対象の使用例

#  
class MyDict(dict):

    def __init__(self, **kw):
        super().__init__(**kw)

    def __getattr__(self, key):
        try:
            return self[key]
        except KeyError:
            #  
            raise AttributeError("has no attribute %s " % (key))

ユニットテスト例

import unittest

#  
class TestDict(unittest.TestCase):

    #  test  test_xxx()
    def test_init(self):
        #  
        d = MyDict(a =1, b="test_init")

        # unittest.TestCase 
        self.assertEqual(d.a, 1)
        self.assertEqual(d.b, "test_init")
        self.assertTrue(isinstance(d, dict))

    def test_get(self):
        #  
        d = MyDict(a = 123)

        self.assertEqual(d.a, 123)
        #self.assertEqual(d.a, 1111)

ユニットテストの実行例

#  
def runTest():
    #  2 , 
    if __name__ == "__main__":
        unittest.main()

#  
runTest()

実行結果

D:\PythonProject>python main.py
..
----------------------------------------------------------------------
Ran 2 tests in 0.000s

OK

いい感じで、ユニットテストは確かに爽やかです.

データベースユニットテストsetup()とtearDown()

import unittest

#  
class TestDict(unittest.TestCase):

    def setUp(self):
        #  , 
        print("setUp")

    def tearDown(self):
        #  , 
        print("tearDown")

次のように印刷を実行します.
D:\PythonProject>python main.py
setUp
tearDown
.setUp
tearDown
.