Написание тестируемого кода с помощью Microsoft.Azure.Devices.Client.DeviceClient - PullRequest
0 голосов
/ 11 июня 2018

Подпись для DeviceClient класса в Microsoft.Azure.Devices.Client:

public sealed class DeviceClient : IDisposable.

Это на самом деле не дает идей о том, как написать тестируемый код для класса, который используетклиент.

Клиент зависит от транспортного уровня, который звучит многообещающе («давайте предоставим транспорт, а затем смоделируем его в тестах; что-то вроде HttpClient и HttpMessageHandler»), но фабричные методы DeviceClient.Create принимают транспорткак enum, так что этот угол атаки кажется закрытым.

Можно ли использовать шаблон адаптера (т. Е. Повторно реализовать интерфейс)?

1 Ответ

0 голосов
/ 11 июня 2018

С закрытым классом и без виртуальных методов, интерфейс и шаблон адаптера могут быть лучшим (хотя и требующим значительного обслуживания) решением.Вам нужен перехват, поэтому вы взглянули на Microsoft Fake framework и использовали прокладку для изоляции этой сборки при тестировании.

...