[解決済み] 複数のテストに対するUnittestのsetUp/tearDown
2022-05-10 18:48:06
質問
テストのシナリオの最初と最後に実行される関数はありますか?setUpとtearDownの関数は、すべてのテストの前と後に実行されます。
一般的にはこれが欲しいところです。
class TestSequenceFunctions(unittest.TestCase):
def setUpScenario(self):
start() #launched at the beginning, once
def test_choice(self):
element = random.choice(self.seq)
self.assertTrue(element in self.seq)
def test_sample(self):
with self.assertRaises(ValueError):
random.sample(self.seq, 20)
for element in random.sample(self.seq, 5):
self.assertTrue(element in self.seq)
def tearDownScenario(self):
end() #launched at the end, once
今のところ、これらのsetUpとtearDownはユニットテストであり、私のすべてのシナリオ(多くのテストを含む)において、1つは最初のテスト、もう1つは最後のテストとして広がっています。
解決方法は?
2.7時点(per
ドキュメント
を取得します。
setUpClass
と
tearDownClass
で、与えられたクラスのテストが実行される前と後にそれぞれ実行されます。 別の方法として、もしひとつのファイルにまとめてある場合は
setUpModule
と
tearDownModule
(
ドキュメント
).
そうでなければ、おそらく最良の方法は、独自の派生物を作成することでしょう。
テストスイート
をオーバーライドし
run()
. 他のすべての呼び出しは親が処理し、run はセットアップとティアダウンのコードを、 親の
run
メソッドを使用します。
関連
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] __init__.py は何のためにあるのですか?
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み] Pythonのswitch文の代用品?
-
[解決済み] Python unittest - assertRaisesの反対?
-
[解決済み] データベース駆動型アプリケーションのユニットテストに最適な戦略とは?
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み】典型的なテストディレクトリ構造でunittestを実行する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
python call matlab メソッドの詳細
-
Python Decorator 練習問題
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
任意波形を生成してtxtで保存するためのPython実装
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac
-
[解決済み] Python Djangoでユニットテストを実行中にログを無効にするにはどうすればよいですか?