私の単体テストでは、Typoon および TyphoonBlockComponentFactory オブジェクトを使用して、モックやオブジェクトなどをインスタンス化しています。すべての単体テストが一度に順番に実行され、それぞれが実行する必要があるアセンブリのみを含む独自のファクトリをセットアップします。
そのファクトリを作成し、毎回デフォルトのファクトリにするため、テスト対象のクラスはファクトリから依存関係をインスタンス化できます。ただし、TyphoonComponentFactory の「makeDefault」メソッドは、dispatch_once ブロックにラップされているため、アプリの存続期間中に 1 回しか発生しません。
なんで?私のアプローチの一部は根本的に間違っていますか?どういうわけか、tearDown メソッドで Typhoon 状態を破壊できるようにしたいのですが、方法がわかりません - シングルトンを破壊することはできません!