Подпись для DeviceClient
класса в Microsoft.Azure.Devices.Client
:
public sealed class DeviceClient : IDisposable
.
Это на самом деле не дает идей о том, как написать тестируемый код для класса, который используетклиент.
Клиент зависит от транспортного уровня, который звучит многообещающе («давайте предоставим транспорт, а затем смоделируем его в тестах; что-то вроде HttpClient
и HttpMessageHandler
»), но фабричные методы DeviceClient.Create
принимают транспорткак enum
, так что этот угол атаки кажется закрытым.
Можно ли использовать шаблон адаптера (т. Е. Повторно реализовать интерфейс)?