4つのテストクラスを含むテストファイルがunittest
あり、それぞれが1つの特定のクラスでテストを実行する役割を果たします。各テストクラスは、まったく同じメソッドset-up
を使用します。teardown
このset-up
メソッドは比較的大きく、約20の異なる変数を開始しますが、teardown
メソッドはこれらの20の変数を初期状態にリセットするだけです。
これまで、4つのsetUpクラスのそれぞれに20個の変数を入れてきました。これは機能しますが、保守は簡単ではありません。1つの変数を変更する場合は、4つのsetUpメソッドすべてで変更する必要があります。しかし、より洗練されたソリューションの検索は失敗しました。理想的には、20個の変数を一度入力し、4つのメソッドのそれぞれで呼び出してから、setup
各テストメソッドの後でそれらを破棄したいと思います。この目的を念頭に置いて、変数を別のモジュールに入れ、これを各setUpにインポートしようとしましたが、もちろん、変数はセットアップメソッドでのみ使用できます(さらに、正確な理由に指を置くことはできませんでしたが、これは、潜在的に問題が発生しやすい方法のように感じました
from unittest import TestCase
class Test_Books(TestCase):
def setup():
# a quick and easy way of making my variables available at the class level
# without typing them all in
def test_method_1(self):
# setup variables available here in their original state
# ... mess about with the variables ...
# reset variables to original state
def test_method_2(self):
# setup variables available here in their original state
# etc...
def teardown(self):
# reset variables to original state without having to type them all in
class Books():
def method_1(self):
pass
def method_2(self):
pass