🔧

Swift OpenAPI Generatorで生成したクライアントをモックする

2023/10/16に公開

Swift OpenAPI Generatorで生成したクライアントをモックしたいときは、Clientと一緒に生成されるAPIProtocolを使います。

struct ClientMock: APIProtocol {
  func getGreeting(_ input: Operations.getGreeting.Input) async throws -> Operations.getGreeting.Output {
    let message = "Hello, \(input.query.name ?? "Stranger")!"
    return .ok(.init(body: .json(.init(message: message))))
  }
}

let client: some APIProtocol = ClientMock()
let response = try await client.getGreeting(.init(query: .init(name: "John")))

以上です。

https://github.com/apple/swift-openapi-generator/tree/4c8ed5cec75ccf7f3c48f744b44bafb93235f492/Examples/GreetingService/Tests/GreetingServiceMockTests

Discussion