Я пытаюсь обернуть голову, начиная реализовать модульные тесты в проекте C#, который использует ведра AWS S3.
Несмотря на то, что я действительно кратко изучаю это, я понимаю, что почти все, что внешнее по отношению к проекту должно быть высмеивается, чтобы «гарантировать» предсказуемые результаты.
Короче говоря, я пытаюсь пройти статический класс (который является как абстрактным, так и герметичным) как аргумент, который ограничивает параметр границей, который я определил (на данный момент только состоит из AWSClientFactory.CreateAmazonS3Client(string, string, RegionEndpoint)
.
Тем не менее, я не могу понять, как пройти этот класс по ссылке (AWSClientFactory
), и благодаря обширным исследованиям я не вижу никакого способа сделать это.
Поскольку мне нужно будет пройти через облако другого поставщика (который имитирует S3 API) с помощью этого же метода, я бы подумал, что это было бы приемлемое решение, как для этого, так и прохождения макетных классов, реализованных через интерфейс.
Как бы лучше всего реализовать это с той же структурой, в которой идентичные методы называются из разных статических классов?