テストケースの初期化と終了関数
5559 ワード
この記事では、主にunittestの初期化と終了関数unittestの初期化と終了Pythonクラスのinitとdelについて説明します.まずPythonでのClassの初期化と終了を振り返ります
上の関数を実行すると、次の結果が表示されます.
これで初期化中間量は終了しました[Finished in 0.1 s]
つまり、chushihuatest()をインスタンス化してzhongjianという関数が呼び出されると、まず初期化関数_が呼び出されます.init_(self)、zhongjian関数を実行すると、終了関数_が実行されます.del_(self)だから実行結果は3行とも印刷されます.
unittestの初期化と終了関数はClassのinitとdelに似ている.実はテスト環境の初期化であり、いくつかのデータをロードします.テストを終了して力を入れたときに何かを閉じ、テストの結果は以下の通りです.
実行に力を入れると初期化が先に実行され、実行が完了すると終了関数が実行され、リンクが破棄されることがわかります.自動化テストまたはユニットテストは、プロファイルからデータを読み込むことに関連する可能性があります.初期化時にファイルを開く必要があります.テストが完了したら、ファイルを閉じる必要があります.以下は具体的なソースコードです.
class chushihuatest():
def __init__(self):
print " "
def zhongjian(self):
print " "
def __del__(self):
print " "
if __name__ == '__main__':
testChushihua = chushihuatest()
testChushihua.zhongjian()
上の関数を実行すると、次の結果が表示されます.
これで初期化中間量は終了しました[Finished in 0.1 s]
つまり、chushihuatest()をインスタンス化してzhongjianという関数が呼び出されると、まず初期化関数_が呼び出されます.init_(self)、zhongjian関数を実行すると、終了関数_が実行されます.del_(self)だから実行結果は3行とも印刷されます.
unittestの初期化と終了関数はClassのinitとdelに似ている.実はテスト環境の初期化であり、いくつかのデータをロードします.テストを終了して力を入れたときに何かを閉じ、テストの結果は以下の通りです.
testDel (__main__.testNum) ...
FAIL
testHello (__main__.testNum) ...
ok
testSum (__main__.testNum) ...
ok
======================================================================
FAIL: testDel (__main__.testNum)
----------------------------------------------------------------------
Traceback (most recent call last):
File "testcal.py", line 28, in testDel
self.assertEqual(2,delnum(1,1))
AssertionError: 2 != 0
----------------------------------------------------------------------
Ran 3 tests in 0.000s
FAILED (failures=1)
実行に力を入れると初期化が先に実行され、実行が完了すると終了関数が実行され、リンクが破棄されることがわかります.自動化テストまたはユニットテストは、プロファイルからデータを読み込むことに関連する可能性があります.初期化時にファイルを開く必要があります.テストが完了したら、ファイルを閉じる必要があります.以下は具体的なソースコードです.
# -*- coding: utf-8 -*-
import unittest
def sumnum(a,b):
return a + b
def delnum(a,b):
return a - b
def hello():
return "hello world"
def chengfa(a,b):
return a * b
class testNum(unittest.TestCase):
def setUp(self):
print " "
def tearDown(self):
print " "
def testSum(self):
self.assertEqual(2,sumnum(1,1))
def testDel(self):
self.assertEqual(0,delnum(1,1))
def testHello(self):
self.assertEqual("hello world",hello())
if __name__ == '__main__':
suite1 = unittest.TestLoader().loadTestsFromTestCase(testNum)
unittest.TextTestRunner(verbosity=3).run(suite1)