The signature for DeviceClient
class in Microsoft.Azure.Devices.Client
is
public sealed class DeviceClient : IDisposable
.
This doesn't really suggest ideas for how to write testable code for the class that uses the client.
The client depends on a transport layer which sounds promising ("let's provide the transport and then mock it in tests; something like HttpClient
and HttpMessageHandler
") but the factory methods DeviceClient.Create
take the transport as an enum
so this angle of attack seem to be closed.
Is an adapter pattern (i.e. re-implement the interface) the way to go?