[解決済み] テストケースで使用される "setUp" と "tearDown" Python メソッドについて説明します。
質問
Pythonの
setUp
と
tearDown
メソッドでテストケースを作成しながら、それとは別に
setUp
はテストメソッドを呼び出す直前に呼び出され
tearDown
は呼び出された直後に呼び出されますか?
どのように解決するのですか?
一般的には、すべての前提条件のステップをsetUpに、すべての後始末のステップをtearDownに追加します。
例でもっと詳しく読むことができます はこちら .
<ブロッククオートsetUp()メソッドが定義されている場合、テストランナーは各テストの前にそのメソッドを実行します。 を実行します。同様に、tearDown() メソッドが定義されている場合、テストランナーは各テストの後にそのメソッドを呼び出します。 メソッドが定義されている場合、テストランナーは各テストの後にそのメソッドを呼び出します。
例えば、アイテムが存在すること、あるいは特定の状態を必要とするテストがあるとします。そのため、これらのアクション(オブジェクトインスタンスの作成、DBの初期化、ルールの準備など)を setUp に置きます。
これは、アプリの状態を初期状態に戻す必要があることを意味します。たとえば、ファイルや接続を閉じたり、新しく作成されたアイテムを削除したり、トランザクションコールバックを呼び出したりします。
つまり、テスト自体は結果を得るためにテストオブジェクトに対して実行されるべきアクションのみを含むべきで、setUpとtearDownはテストコードをクリーンかつ柔軟にするためのメソッドであるという考え方です。
たくさんのテストに対してsetUpとtearDownを作成し、親クラスで定義することができます - そうすれば、それらのテストをサポートし、共通の準備とクリーンアップを更新することが容易になります。
もし簡単な例をお探しでしたら を使用してください。
関連
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] オブジェクト名の前のシングルアンダーコアとダブルアンダーコアの意味は何ですか?
-
[解決済み] Pythonでシングルトンを作成する
-
[解決済み] リストに値が存在するかどうかを確認する最速の方法
-
[解決済み] Pythonの__future__は何に使うのか、いつ、どのように使うのか、その仕組みについて
-
[解決済み] フェイク、モッキング、スタビングの違いとは?
-
[解決済み】ilocとlocはどう違うのですか?
-
[解決済み】コマンドラインからunittest.TestCaseのテストを1つ実行する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] DataFrameの文字列、dtypeがobjectの場合
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] PythonでSVGからPNGに変換する
-
[解決済み] Python 2.7サポート終了?
-
[解決済み] ファブリック経由でデプロイユーザとしてvirtualenvを有効化する
-
[解決済み] 文字列のリストを内容に基づいてフィルタリングする
-
[解決済み] 古いバージョンのPythonにおける辞書のキーの並び順
-
[解決済み] Python Empty Generator 関数
-
[解決済み] Pythonの検索パスを他のソースに展開する
-
[解決済み] Pythonの文字列の前にあるbという接頭辞は何を意味するのですか?