unittestコア要素
2947 ワード
1.TestCase
TestCaseの例はテスト例です.テスト例とは何ですか.テスト前の準備環境の構築(setup)、テストコードの実行(run)、テスト後の環境の復元(tearDown)など、完全なテストプロセスです.メタテスト(unit test)の本質もここにあり、1つのテスト例は完全なテストユニットであり、このテストユニットを実行することで、ある問題を検証することができる.
2.TestSuite
複数のテストケースが集まっているのがTestSuiteであり,TestSuiteもTestSuiteをネストすることができる.TestLoaderはTestCaseをTestSuiteにロードするために使用され、そのうちいくつかのloadTestsFrom_()メソッドは、それぞれの場所からTestCaseを探してインスタンスを作成し、addをTestSuiteに追加し、TestSuiteインスタンスを返します.
3.TextTestRunner
TextTestRunnerは、テストケースを実行するために使用され、run(test)はTestSuite/TestCaseのrun(result)メソッドを実行します.テストの結果はTextTestResultインスタンスに保存されます.テストの実行例、成功したか、失敗したかなどの情報が含まれます.
4.Fixture
テスト・インスタンス環境の構築と破棄はfixtureです.unittestケースクラスMathを構築整数加算を含む
class Math:
def __init__(self,a,b):
self.a=int(a)
self.b=int(b)
def add(self):
return self.a+self.b
Mathクラスのユニットテスト
from caculator import Math
import unittest
class TestMath(unittest.TestCase):
def setUp(self):
print("Start test")
def test_add(self):
j=Math(5,10)
self.assertEqual(j.add(),15)
#
# self.assertEqual(j.add(),12)
def tearDown(self):
print("test end")
if __name__=='__main__':
#
suite=unittest.TestSuite()
suite.addTest(TestMath("test_add"))
#
runner=unittest.TextTestRunner()
runner.run(suite)