Ich verwende Sourcery in meinem iOS-Projekt, um Mocks für ein Protokoll zu generieren, das einem anderen Protokoll mit zugehörigen Typen entspricht. Trotz konsistenter Eingabe ist die generierte Ausgabe von Sourcery nicht konsistent. Manchmal ist die Ausgabe korrekt, aber manchmal ist sie falsch, da Mock als Klasse nur mit init definiert wird.
Hier ist meine AutoMockable.stencil: https:/ /gist.github.com/levan9999/212647d48ef372e025d5794543ab303c
Hier ist mein Setup:
Code: Select all
public protocol Foo {
associatedtype Input
associatedtype Output
associatedtype Failure: Error
@discardableResult
func bar(parameters: Input) -> AnyPublisher
}
// sourcery: AutoMockable
public protocol Bar: Foo
where Input == String,
Output == Bool,
Failure == Never { }
Ausgabe:
Code: Select all
public class Bar: Foo {
public init() {}
}
Wie kann ich sicherstellen, dass Sourcery konsistent den richtigen Mock für Protokolle mit zugehörigen Typen und Typeinschränkungen generiert?