unittestのコマンドライン実行試験、見つかった操作の実験例

コーディングUTF8 =#
「」 '
コマンドラインから実行することができます:次のようにモジュール、クラス、または個々の試験方法、具体的な操作は次のとおりです。
テストモジュールを実行します:python -m unittestのtest_module1 test_module2
テストクラスを実行します:python -m unittestのtest_module.TestClass
実行試験方法:のpython -m unittestのtest_module.TestClass.test_methodは、
モジュール名を追加することができますが、リスト、クラス名、メソッド名で実行されます。
あなたは、-vパラメータを使用して、より詳細なテスト情報を得ることができます:python -m unittestの-v test_module
すべてのパラメータ-hコマンドラインパラメータで見ることができます:python -m unittestの-h
:コマンドライン引数
-b --buffer
テスト実行中標準出力と標準エラーストリームがキャッシュされます。テスト情報を介して出力。
出力通常のエコーテストが失敗した場合や、エラー、および障害メッセージに追加。
-c --catch
テスト実行中に、現在のテストの終了を待ってから現在までに、すべての結果を報告するには、Ctrl + C。
第二のCtrl + Cは、KeyboardInterrupt例外につながります。
-f --failfast
たときに、最初のエラーや故障テストの実行を停止します。
コマンドライン発見はまた、(試験ディスカバリー)、すべてのアイテムまたはサブセットのみのためにテストの実行をテストするために使用することができます。
unittestのは簡単なテスト(テストディスカバリー)をサポートして見つけます。見つかった試験と適合性であるために、
すべてのテストファイルは、(そのファイル名は有効な識別子でなければならないことを意味する)プロジェクトのモジュールやパッケージのルートディレクトリからインポートする必要があります。
試験発見は、それは、コマンドラインを介して実現することができる()TestLoader.discoverによって達成されます。
基本的なコマンドラインの使用方法:
プロジェクトのルートディレクトリにcdのproject_directoryの#
のpython -mコマンドを実行#を発見unittestの
:パラメータは次のようにサブコマンドがある発見
-v、--verbose
冗長な出力
-s、--start-ディレクトリのディレクトリを
発見を実行することからホームディレクトリ(ディレクトリ)、デフォルトは現在のディレクトリです(。)
-p、--patternパターン
テストファイル(パターン)、デフォルトは*での.pyテストパターンマッチング
-t、--topレベル・ディレクトリのディレクトリ
プロジェクト(ディレクトリ)ルートディレクトリ(デフォルトのディレクトリが開始される)の目的は、
-tコマンドは、コマンドラインで組み合わせることができる、-p、-s。次の2つのコマンドは等価です:
Pythonのunittestの発見-s -m project_directory -p「* _test.py」
Pythonの発見は、「_test.py *」unittestの-mをproject_directory
パスとして、パッケージ名は、例えばmyprojectに、渡すことができます。開始ディレクトリとしてsubpackage.test。
そして、スタートディレクトリとしてパッケージ提供名とファイルシステム上の場所をインポートします。
注:インポートしてテストをロードするためのテストを発見。テストは、指定された開始ディレクトリからすべてのテストファイルを見つけることが発見されたら、
それは、インポートするパッケージのパス名を変換します。foo.bar.bazとしてインポートなどのfoo /バー/ baz.py。
インストールグローバル・パッケージがある場合は、テストや、ソフトウェアパッケージの別のコピーを見つけようと
、間違った場所に発生する可能性がありますインポートを。この問題が発生した場合、テストは警告して終了していることが分かりました。
あなたが発見されたパッケージ名の代わりに、ディレクトリ・パスの開始ディレクトリを指定した場合、それが所望の位置にインポートされた任意の位置を想定し、それは警告を取得することはできません。
そして、パッケージ・テスト・モジュールは、カスタムテストをロードし、load_testsプロトコルを発見したことがあります。
「」「
をインポートOS
#TestHello.pyが経路に
os.chdir(」.// TestSuit_01" )
(os.getcwdを印刷)
を印刷」 『』コマンドラインテスト情報『』 'を介して
#走行試験モジュールTestHello.py
os.system( "-m PythonのunittestのTestHello")
は、テストクラスを実行TestHello
os.system( "-m PythonのunittestのTestHello.TestHello")
試験方法実行している#
os.system(「のpython -m unittestのTestHello.TestHelloを。

印刷

印刷「」「」「より詳細なテスト-vパラメータ情報を用いて求めることができる」
TestHello.py#実行中のテストモジュールを
os.systemは(「unittestのPythonの-m TestHelloを-v」)
はTestHelloテストクラスを実行します
os.system( ) "TestHello.TestHelloにunittestのPythonの-m -v"
のために#ラン試験方法を
os.system( "-v TestHello.TestHello.test_Hello unittestのPythonの-m")
を印刷"#" * 50
印刷

パラメータ-hによって印刷''」 -m Pythonのunittestの-h '' ':すべてのコマンドラインパラメータ見る
os.system( "Pythonのunittestの-m -h")
を印刷"#" * 50
印刷

印刷"コマンドライン引数:-b -c -f"
実行をテストモジュールTestHello.pyの
os.system( "Pythonのunittestの-m -b TestHello")
テストクラスTestHelloの実行
「Pythonのunittestの-m -c TestHello(os.systemを。TestHello「)
テストメソッドを実行している#
os.system(「Pythonのunittestの-m -f TestHello.TestHello.test_HelloType」)
印刷「#」* 50
印刷の

すべてのテストのテストを実行するためにfindコマンドを使用して#
「すべてのテストでのプロジェクトの実装を使用したテスト」プリントを
UnttestProに#
OS .chdirは( "../")
"現在のパスに:"印刷、os.getcwd()
を使用、すべてのデフォルトパラメータ
os.systemを( "のpython -m unittestの発見" )

オリジナルます。https://blog.csdn.net/henni_719/article/details/56835833

おすすめ

転載: www.cnblogs.com/dreamhighqiu/p/11004335.html