第7章ユニットテストの拡張
第6章では、我々は、ユニットテストの主な機能を紹介していますが、唯一のWeb自動テストを書くためにそれを使用する場合、わずかに低いままです。例えば、それはHTML形式のレポートを生成することはできません、それはパラメトリック機能を提供していません。しかし、我々はこれらの欠点を補うためにサードパーティの拡張機能を利用することができます。
7.1 HTMLのテストレポート
HTMLTestRunnerは、使いやすいHTML形式のテストレポートを生成することができ、拡張ユニットテスト、です。HTMLTestRunnerはBSDライセンスの下でリリースされます。
ダウンロード:http://tungwaiyip.info/software/HTMLTestRunner.html
拡張子は、Python 3をサポートしていないので、我々はいくつかの変更を行いますので、それは、Python 3の下で実行できるように。
GitHubの住所:https://github.com/defnngj/HTMLTestRunner
7.1.2生成されたHTMLのテストレポート
あなたはHTMLTestRunnerとテストレポートを生成する場合は、実装セクション6.1.4 run_tests.py帳ファイルを参照してください。テストケースの実行が実行TextTestRunnerクラスによって提供される()メソッドを終了します。それはTextTestRunnerクラスHTMLTestRunner.pyファイルHTMLTestRunnerクラスを交換する必要があります。
ライン877(コードが更新された場合、行番号が変更されます)にオープンHTMLTestRunner.pyファイルはHTMLTestRunnerクラスを見つけることができます。
使用崇高オープンの.pyファイルを、キーワード「HTMLTestRunner」の外観
このコードは、部分的にHTMLTestRunnerクラスが達成され、主にパラメータ__init __()の初期化方法に依存します。
●ストリーム:指定テストレポート生成されたHTMLファイルが必要とされています。
●冗長性:指定ロギングのレベル、デフォルトは1です。あなたはより詳細なログが必要な場合は、パラメータ2を変更することができます。
●タイトル:指定したテストケースのタイトルは、デフォルトはNoneです。
●説明:指定したテストケースの記述は、デフォルトはNoneです。
HTMLTestRunnerクラスで、テストに同一のテストスイートは、run()メソッドによって実行されます。次のようにファイルを変更Run_tests.py。
インポートユニットテスト から HTMLTestRunner インポートHTMLTestRunnerの #の現在のディレクトリ定義されたテストとしてディレクトリ TEST_DIR = ' ./test_case ' SUIT = unittest.defaultTestLoader.discover(TEST_DIR、パターン= ' テスト*の.py ' ) IF __name__ == ' __main__ ' : #現在の日付と時間がかかる now_time time.strftimeを=(" M_%以下のSの%D %% Y-M-%H_%" ) html_report = ' ./test_report/ ' + now_time + ' とresult.html ' FP =オープン(html_report、' WB ' ) #の呼び出しHTMLTestRunner、走行テストケース ランナー= HTMLTestRunner(=ストリームFP、 タイトル = " Baiduは検索テストレポート" 、 説明 = " 動作環境:Windowsの10、Chromeブラウザ" ) ランナー。 RUN(SUIT) fp.close()
まず、テスト結果を記述するためのオープンresult.htmlファイルへのopen()メソッド。あなたがいないresult.htmlファイルを実行すると、ファイルが自動的に作成され、初期化パラメータストリームHTMLTestRunnerクラスにファイルオブジェクト。その後、テストスイートを実行するためのHTMLTestRunnerクラスのrun()メソッドを呼び出します。最後に、近いresult.htmlファイル。
ファイルを開く/Test_report/result.html、あなたはHTML形式のレポートを取得します。HTMLTestRunner試験報告書に示されています。