パイソン・ユニットテストユニットテストユニットテストフレームワークの概要

ユニットテストユニットテストフレームワークの概要

    unittestのユニット・テスト・フレームは、テストユニットに、テストケースかどうかを判定することによって、豊富なアサーションをテストケースを実行するために編成し、提供することができるWEB自動テスト開発とテストフレームの実行を適用することができ、試験結果は、最終を生成するだけでなく、適用することができます。今日は、自動テストのWEB用のユニットテストフレームワークをunittestの使用方法をまとめます。

ディレクトリ

まず、種々の特性は、ユニットテストモジュールを記載しました

第二に、テストケースを書くことunittestのフレームワークを使用してのアイデア

第三に、フレームワークunittestの使用は、テストケースの例を書き込みます

 

まず、種々の特性は、ユニットテストモジュールを記載しました

目次に戻るをクリックします

    まずモジュールunittestの各属性とチャットする、いわゆる例えば、後続の書かれた大きな助け、のさまざまな属性を理解しunittestの、勝利される前に自分自身を知っています。

1.unittest次のプロパティ:

[ 'BaseTestSuite'、 'あるFunctionTestCase'、 'SkipTest'、 'テストケース'、 'TestLoader'、 'TestProgram'、 'TestResult'、 'テストスイート'、 'TextTestResult'、 'TextTestRunner'、 '_TextTestResult'、 '__all__'、 ' __builtins__」、 '__doc__'、 '__FILE__'、 '__name__'、 '__PACKAGE__'、 '__path__'、 '__unittest'、 'ケース'、 'defaultTestLoader'、 'expectedFailure'、 'findTestCases'、 'getTestCaseNames'、 'installHandler' 'ローダ'、 'メイン'、 'makeSuite'、 'registerResult'、 'removeHandler'、 'removeResult'、 '結果'、 'ランナー'、 '信号'、 'スキップ'、 'SKIPIF'、 'skipUnless'、 'スイート」、 'utilの']

説明:

たunittest.TestCase:TestCaseクラス、テストケースクラスの継承の基本クラスのすべて。

クラスBaiduTest(たunittest.TestCase):

unittest.main():モジュールユニットテストテストスクリプトを直接実行することが可能に彼女は簡単に変更することができます使用、main()メソッドは、「テスト」にオーダー名の先頭にモジュールに含まれるすべてのTestLoaderの試験方法を検索するためにクラスを使用していますそれらを自動的に実行します。方法の実行のデフォルトの順序は、0-9、AZ、AZ:試験荷重ASCIIコード順、数字と文字の順序に従って。したがって、試験方法Aの開始に優先的に実行される開始した後に、実行されます。

unittest.TestSuiteインスタンス():unittestのフレームワークのTestSuite()クラスは、テストスイートを作成するために使用されます。

unittest.TextTextRunner():unittestのフレームTextTextRunner()、テストスイートを実行する()メソッドは、次のクラスRUNを通じてテストスイートスイートのためのパラメータを組み立てられます。

unittest.defaultTestLoader():クラス別defaultTestLoader()クラスは、以下の発見()メソッドが自動的にカタログ化することができますstart_dirより多くのテストは、テストケースファイル(テスト*用の.py)を見つけるために一致し、スイートをテストするためのテストアセンブリを見つけます直接run()メソッドを発見行うことができます。次のように使用方法は以下のとおりです。

発見= unittest.defaultTestLoader.discover(TEST_DIR、パターン= 'テスト_ *。PY')

unittest.skip():いくつかのケースで、ケースを操作するデコレータは、などは、一時的に装飾的なストリップテストをシールド使用することができたくない場合があります。この一般的な用途は、例えば、あるテストケースをデバッグする、デコレータで遮蔽することができる他のユースケースを遮蔽したいです。

@ Unittest.skip(理由):スキップ(理由)デコレータ:装飾無条件スキップテスト、およびテストがスキップさの理由。

@ Unittest.skipIf(理由):SKIPIF(条件、理由)デコレータ:条件が真であるが、テストは装飾、およびテストをスキップの理由をスキップされます。

@ Unittest.skipUnless(理由):skipUnless(条件、理由)デコレータ:条件が偽で、テストの装飾、およびテストを省略した理由をスキップします。

@ Unittest.expectedFailure():失敗したとしてexpectedFailure()テストがマークされています。

 

次のように2.TestCaseクラス属性は以下のとおりです。

[ '__call__'、 '__class__'、 '__delattr__'、 '__dict__'、 '__doc__'、 '__eq__'、 '__format__'、 '__getattribute__'、 '__hash__'、 '__init__'、 '__module__'、 '__ne__'、 ' __new__」、 '__reduce__'、 '__reduce_ex__'、 '__repr__'、 '__setattr__'、 '__sizeof__'、 '__str__'、 '__subclasshook__'、 '__weakref__'、 '_addSkip'、 '_baseAssertEqual'、 '_classSetupFailed'、 '_deprecate' 、 '_diffThreshold'、 '_formatMessage'、 '_getAssertEqualityFunc'、 '_truncateMessage'、 'addCleanup'、 'addTypeEqualityFunc'、 'assertAlmostEqual'、 'assertAlmostEquals'、 'assertDictContainsSubset'、 'assertDictEqual'、 'assertEqual」、 'のassertEquals'、 'assertFalse'、 'assertGreater'、 'assertGreaterEqual'、 'assertIn'、 'assertIs'、 'assertIsInstance'、 'assertIsNone'、 'assertIsNot'、 'assertIsNotNone'、 'assertItemsEqual'、 'assertLess' 、 'assertLessEqual'、 'assertListEqual'、 'assertMultiLineEqual'、 'assertNotAlmostEqual'、 'assertNotAlmostEquals'、 'assertNotEqual'、 'assertNotEquals'、 'assertNotIn'、 'assertNotIsInstance'、 'assertNotRegexpMatches'、 'assertRaises'、 'assertRaisesRegexp'、 ' assertRegexpMatches'、 'assertSequenceEqual'、 'assertSetEqual'、 'いるassertTrue'、 'assertTupleEqual'、 'ASSERT_'、 'countTestCases'、 'デバッグ'、'defaultTestResult'、 'doCleanups'、 '失敗'、 'failIf'、 'failIfAlmostEqual'、 'failIfEqual'、 'failUnless'、 'failUnlessAlmostEqual'、 'failUnlessEqual'、 'failUnlessRaises'、 'たfailureException'、 'ID'、「longmessageは」、 'maxDiff'、 '実行'、 'SETUP'、 'setUpClass'、 'shortDescription'、 'skipTest'、 'ティアダウン'、 'tearDownClass']'shortDescription'、 'skipTest'、 'ティアダウン'、 'tearDownClass']'shortDescription'、 'skipTest'、 'ティアダウン'、 'tearDownClass']

説明:

セットアップ():初期のセットアップ()メソッドは、試験前に行わ。テストケースは、データベースにアクセスする必要があるように、データベース接続は、セットアップ中に確立し、初期化することができます。テストケースは、ウェブをログに記録する必要があるとして、それは、ブラウザの最初のインスタンスかもしれません。

TEARDOWN():ティアダウン()メソッドは、テストケースの実行直後後に使用されます。近くに接続。ブラウザを閉じます。

*をアサート():アサーションの数:一実施形態は、最終用途によって実行された場合にテストケースの実行中に、平等は、実際、得られた期待されるテスト結果を決定することによって決定されます。

assertEqual(A、B、[MSG = 'テスト障害情報を印刷']):aとbが等しいアサート、テストケースによって等しいです。

assertNotEqual(A、B、[MSG =「テスト障害情報を印刷」])及びbは、テストを通して、等しい、等しくないアサート。

いるassertTrue(X、[MSG =「テストが印刷された情報に失敗」]):真のXがアサートされている場合、テストが通って真です。

assertFalse(xは、[MSG = 'テストが印刷された情報に失敗']):試験に合格した場合はFalse、xがFalseでアサート。

assertIs(A、B、[MSG = 'テストが印刷された情報に失敗']):試験に合格し、その後、Bかどうかをアサート。

assertNotIs(A、B、[MSG = 'テストが印刷失敗情報が']):Bは、その後、試験に合格していないかどうかをアサート。

assertIsNone([MSG =「テスト情報を印刷失敗」] X):Xはなしアサートされていないが、試験のどれも渡されません。

assertIsNotNone([MSG =「テスト情報を印刷失敗」] X):Xはなしアサートされていないが、試験のいずれも渡されません。

assertIn(A、B、[MSG = 'テストが印刷された情報に失敗']):Bが合格試験において、アサートされ、Bです。

assertNotIn(A、B、[MSG = 'テストが印刷された情報に失敗']):Bは、Bアサートにある、テストが合格していません。

assertIsInstance(、bは、[MSG =「テスト障害情報を印刷」]):アサートBは一例であり、テストを通過します。

assertNotIsInstance(、bは、[MSG =「テスト障害情報を印刷」]):アサートbは一例であり、ない試験によるものです。

 

次のように3.TestSuiteクラスの属性は、:(例ときの組織)が必要

[ '__call__'、 '__class__'、 '__delattr__'、 '__dict__'、 '__doc__'、 '__eq__'、 '__format__'、 '__getattribute__'、 '__hash__'、 '__init__'、 '__iter__'、 '__module__'、 ' __ne__」、 '__new__'、 '__reduce__'、 '__reduce_ex__'、 '__repr__'、 '__setattr__'、 '__sizeof__'、 '__str__'、 '__subclasshook__'、 '__weakref__'、 '_addClassOrModuleLevelException'、 '_get_previous_module'、 '_handleClassSetUp' '_handleModuleFixture'、 '_handleModuleTearDown'、 '_tearDownPreviousClass'、 '_tests'、 'addTest'、 'addTests'、 'countTestCases'、 'デバッグ'、 '実行']

説明:

addTestは():addTest()メソッドは、テストするテストスイートを追加するには、次の側で、テストスイートのカテゴリtest_baiduモジュール下BaiduTest test_baidu試験下で添加されます。

スイート= unittest.TestSuiteインスタンス()
suite.addTest(test_baidu.BaiduTest( 'test_baidu'))
 

4.TextTextRunnerは特性が必要な以下の組織:(例)

[ '__class__'、 '__delattr__'、 '__dict__'、 '__doc__'、 '__format__'、 '__getattribute__'、 '__hash__'、 '__init__'、 '__module__'、 '__new__'、 '__reduce__'、 '__reduce_ex__'、 ' __repr__」、 '__setattr__'、 '__sizeof__'、 '__str__'、 '__subclasshook__'、 '__weakref__'、 '_makeResult'、 ''、 '説明'、 'フェイルファースト'、 'resultClassを'、 '実行'、 '流れ' をバッファリング「冗長」]

説明:

ラン():run()メソッドのテストスイートは、基準テストスイートで、テストスイートを実行しています。

ランナー= unittest.TextTestRunner()
runner.run(スイート)

おすすめ

転載: www.cnblogs.com/xiaohuihui92/p/11691139.html