cdsmith / HMock

Mock framework for testing in Haskell
BSD 3-Clause "New" or "Revised" License
23 stars 4 forks source link

Work out how to use HMock with servant-client #15

Open cdsmith opened 3 years ago

cdsmith commented 3 years ago

servant-client generates actions that run directly in a ClientM monad. There should be some kind of story about the right way to integrate servant-client with HMock.

One idea is to write a new library, such as servant-classy-client, that uses TH to generate an MTL-style class from a servant API type.

Another idea is to generate a server implementation that delegates everything to mockMethod using withMockT, and then allow the tests to serialize everything but point them at an in-process HTTP server. So you'd expect the server methods, not the client methods. This requires generalizing Mockable a but so that it doesn't require an MTL-style class, but I want to do that anyway.

cdsmith commented 3 years ago

See #4