djangoアプリケーションにいくつかのTestCaseクラスがあります。それらのいくつかでは、クラスを@ mock.patchで装飾することにより、外部リソースを呼び出す関数をモックアウトします。これは非常に効果的です。私のテストスイートの1つのTestCase(B()と呼びましょう)はその外部リソースに依存しているので、モックアウトしたくないし、デコレーターを追加しません。これは次のようになります。
@mock.patch("myapp.external_resource_function", new=mock.MagicMock)
class A(TestCase):
# tests here
class B(TestBase):
# tests here which depend on external_resource_function
Bを個別にテストすると、期待どおりに機能します。ただし、両方のテストを一緒に実行すると、Aが最初に実行されますが、関数はBでモックアウトされます。その呼び出しのモックを解除するにはどうすればよいですか?モジュールをリロードしようとしましたが、役に立ちませんでした。