1、ユニットテスト入門
以下のためのフレームワークをテストユニットを学ぶなぜ
異なるテストシナリオのニーズを満たすためにフレームワークをテストユニットに参加する必要がある組織とテストケースの実行中、ユニットテストフレームワークは、豊富な比較方法を提供します。テスト結果の予想される結果==と実際の結果の比較
ユニットテストをフレームワークは、豊富なログ提供する:テストの失敗回数と理由与えられ、失敗した
共通のユニットテストフレームワーク
doctestでは、ユニットテスト、pytest、鼻などに
Javaの- 「のJUnit(TestNGの)、 C ++を- 」 googleTest、C# - 「NUnitの
2、unittestのコアコンポーネント
3、unittestの作品
テストケース:テストケースは、テストケースです。セットアップ(準備テスト環境)、実行(テスト実行)、ティアダウン(縮小テスト環境)。
テストスイート(セットまたはキット):テストケース複数のスイートをセットされ、スイートは、テストケースを複数含むことができる、それはまた、ネストされたスイートであることができます。
TestLoader:テストケースをテストスイートにロードするために使用されます。
TestTestRunnerは:例試験(runメソッド)を用いて実施、試験結果はTestTestresultに保存されています。
フィクスチャ:ビルドとテスト環境を破壊します。
4、unittestの試験組織細胞
建設ユニット・テスト・
シナリオ:string例に取って代わります
5、ビルド・テスト・スイート(テストケースの最適化)
ユニットテストケースの増加は、考慮セットアップ(準備されたテスト環境)におけるそれぞれのテストコードに多くの同様の動作が存在するであろう、TEARDOWN(試験環境の減少)
図6に示すように、試験組織(テスト最適化深さ)の複数
テストを最適化するために続行:すべてのテストケースは、機能テストでテストの始まりを保存するために、保存のために時間のかかる方法を別のクラスを持っている必要はありません。
7、ビルド・テスト・スイート
テストケース複数のスイートをセットされ、スイートは、テストケースを複数含むことができる、それはまた、ネストされたスイートであることができます。
8、テストスイートの最適化
テストケースの操作部
テストクラスの下で実行されたすべてのテストは、unittestのモジュールはmakesuiteを提供します
制御9、テストクラスの複数
図10は、テストが行われます
別のファイルの最初StringReplaceTestCase、StringReplace.pyはPY
方法の説明のように、方法に関するコメント。
テストケースの操作部分は、ユースケースを実装するためのユーザ管理対策test_suite.pyを作成し
、すべてのテストケースを実行するために。
11、テストをスキップします
ファイルを変更するStringReplace、理解スキップ、SKIPIF、skipunless
12、ユニットテストフレームワークの概要
たunittest.TestCase:TestCaseクラス、テストケースクラスの継承の基本クラスのすべて。(たunittest.TestCaseの)試験クラス:
unittest.main():使用ユニットを容易にテストモジュールのテスト・スクリプトを直接実行することが可能に変更することができる
)unittest.TestSuiteインスタンス(:テストスイート()クラスは、テストスイートを作成するために使用されるユニットテストフレームA。
unittest.TextTestRunner():unittestのTextTestRunnerフレーム()、テストスイートを実行する()メソッドは、以下のクラスの実行を介してテストスイートスイートのためのパラメータを組み立てられます。
unittest.skip():デコレータ、実施の形態で実行する場合、実行は、いくつかの例を望んでいないことがあり、一時的にデコレータのストリップテストを遮蔽するために使用されます。他のユースケースをシールドするために、テストをデバッグするための一般的な使用方法
(スキップ:unittest.skip(理由)@理由を) デコレータ:装飾無条件スキップテスト、およびテストがスキップされた理由からです。
unittest.skipIf(理由):@ SKIPIF(条件、理由は) デコレータ:条件が真である、テストがスキップされた装飾で、テストをスキップした理由。
skipUnless(:unittest.skipUnless(理由)@条件、理由) デコレータ:条件が偽で、テストの装飾をスキップして、テストをスキップする理由
初期のセットアップ()メソッドは、試験前に行わ。テストは、ブラウザへのアクセスを必要とする、ブラウザがセットアップドライブでインスタンス化することができます。
TEARDOWN():ティアダウン()メソッドは、試験後の改善作業を実行するために使用され、ブラウザを閉じます。
アサーションは:テストケースの実行中に、最終的なユースケースによって実行されるかどうかを、平等は、実際、得られた期待されるテスト結果を決定することによって決定されます。
assertEqual(A、B、[MSG = ' テスト障害情報を印刷']):アサートAとBは等しく、テストケースによって等しいです。
assertNotEqualは(A、B、[MSG = ' テスト障害情報を印刷']):アサートAとBが等しく、試験を通して、次いで、等しくありません。
いるassertTrue(X、[MSG = 'テストが印刷された情報に失敗']):Xがアサートされている場合はTrue、次にテストが通って真です。
addTest():メソッドは、テストスイートにテストを追加することです。
テストスイートを実行するテスト、テストスイートパラメータのスイートである:()を実行し
13、HTMLレポートが説明します
HTMLTestRunner拡張子はPythonのユニットunittestの標準ライブラリは、テストレポートのHTMLを生成するためのフレームワークをテストして
ダウンロード:http://tungwaiyip.info/software/HTMLTestRunner.html
14、HTMLのテスト結果
HTMLTestRunner.pyダウンロードhttp://tungwaiyip.info/software/HTMLTestRunner.html
ストレージパスHTMLTestRunner.pyはCに配置された:\ Users \ユーザー管理\のAppData \ローカル\プログラム\ Python37 \ Libの
HTMLTestRunner.pyはpython2をベースに*開発は、のpython3上で使用することができるようにするために、ファイルを変更する必要があります。
レビューサマリー:
ライン94、インポートのStringIO輸入IOを変更するには
、ライン539、self.outputBuffer = io.StringIO()修正self.outputBuffer = StringIO.StringIO()
ライン642上で、するかどうかではないrmap.has_key( CLS):RMAPにCLSない場合修飾:
第七百六十六行、UO = o.decode( 'ラテン-1 ') 修飾UO = E
、ライン772を、UE = e.decode( 'ラテン-1 ') UEは、E =修飾
'n後やり直し経過\、ライン631、印刷>> sys.stderrを持ちを %(self.stopTime-self.startTime):%s'を印刷するように変更(sys.stderrを持ち、」\ n後やり直し経過 :%sの「%(self.stopTime-self.startTime))
result.htmlと呼ばれるDドライブに保存されたファイルが生成されTest_suite HTMLベースのレポート、