単体テストの分離を実際に開始して、何か問題が発生したときに画面全体が失敗して赤くなるのではなく、エラーが発生した場所を特定できるようにしました。イニシャライザで何かが失敗した場合を除いて、すべてのインスタンスで機能しています。
これらのテストをチェックしてください:
@setup_directory(test_path)
def test_filename(self):
flexmock(lib.utility.time).should_receive('timestamp_with_random').and_return(1234)
f = SomeFiles(self.test_path)
assert f.path == os.path.join(self.test_path, '1234.db')
@setup_directory(test_path)
def test_filename_with_suffix(self):
flexmock(lib.utility.time).should_receive('timestamp_with_random').and_return(1234)
f = SomeFiles(self.test_path, suffix='.txt')
assert f.path == os.path.join(self.test_path, '1234.txt')
テスト対象が完全に分離されるように、依存メソッドをモックしています。お気づきのように、すべてのテストでクラスをインスタンス化する必要があります。イニシャライザでエラーが発生すると、すべてのテストが失敗します。
これは、クラスの初期化子を呼び出す問題のあるコンストラクターです。
SomeFiles(*args)
イニシャライザまたはオブジェクト コンストラクタを分離またはモックする方法はありますか?