今ユニットテストフレームワークを使用して、我々は、このフレームワークの知識を記録します。
ユニットテストフレームワーク:TEST_で試験開始を識別するために、ユニットテストは、パケットに相当し、以外のTestCase unittestのプライベートメソッドの中で、我々は、書き込みインターフェースの例を使用し、継承クラスメソッド、我々はパッケージ内のツールを使用します。
1.ユニットテストの概念
- テストは、Javaで書かれたテストモジュール、関数、クラスにではありません
- しかし、テストコードの入力と出力、一致が正しいですか
- ユニットテストを書くのは、開発があり、多くの場合、機能のために、独自のテストモジュールを書くために、クラスが正しいです
- タスクは、テスターによって書き込まれるいくつかのユニットテスト
- ユニットテストは、テストアサーションのための非常に強力なツールです。
2.試験装置の効果
機能コード、クラス、シミュレーションテスト
インタフェース試験、期待される結果と実際の結果アシスト
3.ファイル名を指定して実行ユニットテスト、我々は実行するために、親クラスのmain()メソッドを呼び出します
もし __name__ == ' __main__ ' : unittest.main()
4.ユニットテストフレームワークは、どのようにユースケースの数をテストするには?実行例の使用のために?例によって決定されたインターフェイスの成功と失敗を記録する方法
- ユニットテストフレームワーク・インスタンスが同時に自動的に行う、TEST_ユースケースにメソッドの開始を識別する
- それが実行されないような方法は、最初にTEST_場合と、自動の使用
- TEST_例示的な方法にASCCIコード値は、昇順の実行順序の名前で始まります
- ユースケースの総数はの成功と失敗を記録するために....使用をtry..except
- 私たちは、テスト結果を記録し、ログファイルを増やし、テストケースが失敗した後に例外をスローするためのイニシアチブを取る必要があります
- 症例の総数が実行されると:方法のすべてのインスタンスで総数はTEST_を開始します
- インスタンスメソッドのためのケースの合計数と失敗の総数は、例外をスロー
5.ユニットテストフレームワークは、我々は次のいくつかを記録するために使用されることを私たちの主張のための強力な方法を提供し、
self.assertEqual():結果と実際の結果が等しいアサート;所望の値、二番目のパラメータの実際の値は、アサーション失敗後の第3のパラメータエラーメッセージmsgの最初のパラメータ
self.assertIn():会員オペレータ最初の式は、第二の発現のメンバである場合
self.assertTrue():アサートこの式は成功ではなく、真の故障に真、真であるか否かを
self.assertIsInstance():最初のアサーションか第2のパラメータは、インスタンス(リスト・タイプかどうかを決定する)である
self.assertIsNone():アサートOBJフィールドの値がnullではない
self.assertIs():2つのオブジェクトが同じオブジェクトでないかどうかを決定
self.assertRaises():スロー異常な
インポートユニットテスト クラスTestClass01(たunittest.TestCase): DEF test_case01(セルフ): #インスタンスメソッド名のマウスは、ユースケースを実行している来る、そして現在はユースケースを実行します 。#のいるassertTrue判断が真である、isupper(翻訳:単語ヨーロッパスプレー)すべて大文字かどうか self.assertTrue(" PYTHON " .isupper()は、MSG = " テストは大文字不良です" ) デフtest_case02(自己): 名前 = 「北斗」 names_list = [ 「期待していたことがない」、「サイレント」、「のような緑色の花」、「蝶の雪」、「ノーススター」] #の最初の演算式のメンバーは第二の発現のメンバーであります self.assertIn(名前、names_list) デフtest_case03(自己): one_var = [100、200 ] #assertIsInstanceは、指定されたタイプの関数リストかどうかを決定 self.assertIsInstance(one_var、リスト) #(翻訳:ドーセットの量が疑わインスブルック10 DEAD) もし __name__ == ' __main__ ' : unittest.main()
自動実行例の前に必要な6 Pythonのインターフェース:セットアップ、ティアダウン、setUpClass、tearDownClass
セットアップ:各ユースケースの前に呼び出し
ティアダウンを:各ユースケースを実行した後に呼び出されます
setUpClassサイティーPO粗野)クラスメソッドはTestCaseのsetUpClassは、すべてのユースケースまで行わ呼び出す::(翻訳を
tearDownClass :(翻訳:ときチタンヨーロッパ粗野) tearDownClass TestCaseクラスのすべてのユースケースを実行した後にメソッドを呼び出します
通常我々は、tearDownClassは、そのような特性を動員した後、使用する前に、すべてのケースを定義しませんがある場合は、クラスメソッドを定義する必要がありsetUpClassを使用します。
7. Pythonの一般的に使用されるデコレータ
@classmethod:(:カラスフル収斂翻訳)クラスのメソッドとして定義され
@staticmethod:静的メソッドとして定義される(翻訳:スタータークフル収斂)
*******転載するなど、オリジナルを尊重してください、ソースを明記してください:より転載:https://www.cnblogs.com/shouhu/ ありがとうございます!!*******