代码之家  ›  专栏  ›  技术社区  ›  Derek Litz

PyUnit拆卸和设置vs_uuu init_uuu and_uuu del__

  •  13
  • Derek Litz  · 技术社区  · 14 年前

    使用拆卸和设置与 __init__ __del__ 在使用PyUnit测试框架时?如果是,它到底是什么?首选的使用方法是什么?

    1 回复  |  直到 6 年前
        1
  •  22
  •   unutbu    6 年前

    setUp 在每次测试之前调用,并且 tearDown 每次测试后调用。 __init__ 在类被实例化时调用一次--但由于 a new TestCase instance is created for each individual test method ,请 爱因斯坦 是 也称为每次测试一次。

    一般不需要定义 爱因斯坦 __del__ 写单元时 测试,尽管你可以使用 爱因斯坦 定义许多测试使用的常量。


    此代码显示方法的调用顺序:

    import unittest
    import sys
    
    class TestTest(unittest.TestCase):
    
        def __init__(self, methodName='runTest'):
            # A new TestTest instance is created for each test method
            # Thus, __init__ is called once for each test method
            super(TestTest, self).__init__(methodName)
            print('__init__')
    
        def setUp(self):
            #
            # setUp is called once before each test
            #
            print('setUp')
    
        def tearDown(self):
            #
            # tearDown is called once after each test
            #
            print('tearDown')
    
        def test_A(self):
            print('test_A')
    
        def test_B(self):
            print('test_B')
    
        def test_C(self):
            print('test_C')
    
    
    
    if __name__ == '__main__':
        sys.argv.insert(1, '--verbose')
        unittest.main(argv=sys.argv)
    

    印刷品

    __init__
    __init__
    __init__
    test_A (__main__.TestTest) ... setUp
    test_A
    tearDown
    ok
    test_B (__main__.TestTest) ... setUp
    test_B
    tearDown
    ok
    test_C (__main__.TestTest) ... setUp
    test_C
    tearDown
    ok
    
    ----------------------------------------------------------------------
    Ran 3 tests in 0.000s
    
    OK