Я хорошо знаю эту дилемму;и были здесь несколько раз.
Когда дело доходит до этого, вы можете абстрагироваться от всего, но в итоге вы получите бессмысленные тесты и обнаружите, что пишете тестовый фреймворк, который просто не имеет значения иливы на самом деле обходите принятые рамочные нормы в поисках «единой верной методологии тестирования».Я действительно был в разговорах, где люди честно обсуждали прохождение абстрактных интерфейсов, где вам просто нужно поставить целое число.
Пока я писал это, я видел ваш собственный ответ;и я полностью согласен.
Пока вы можете проверять предположения и тестировать поведение, вы делаете достаточно;как вы говорите - вам нужно только проверить, что все изменилось, и вы сами знаете границы своего собственного контекста - изменится ли когда-либо провайдер реально?Нет - не абстрагируйтесь.
Недавно я разработал несколько масштабных решений Microsoft Dynamics CRM для моего работодателя;в конечном итоге мои тесты предполагают, что CRM API в порядке, и они просто проверяют поведение моих оболочек.
В любом случае, это всего лишь приблизительный шаг, как я вижу, я надеюсь, что это имеет какое-то значение для вас!