0

残念ながら、一部のライブラリには静的メソッドしかありません。Swinject に型を登録させて、型のインスタンスではなく型を返すようにすることは可能ですか? テスト用に静的ライブラリのみをスタブ化するのが難しくなります。

4

1 に答える 1

0

Swinject の現在の状態では、残念ながらこれは不可能です。これを回避する方法の 1 つは、カスタム タイプ プロバイダーを作成することです。

protocol LibraryProtocol {}
class Library: LibraryProtocol {}

class LibraryProvider {
    let library: LibraryProtocol.Type
    init(_ library: LibraryProtocol.Type) { self.library = library }
}

container.register(LibraryProvider.self) { _ in LibraryProvider(Library.self) }
于 2019-01-23T08:29:35.857 に答える