Есть ли хороший способ для переключения различных контекстов между модульным тестом и выпуском.в C # - PullRequest
5 голосов
/ 30 мая 2011

У меня есть некоторый контекст в коде, который нужно переключить в зависимости от того, запущен ли он в тесте или выпуске.Скажите в моем коде продукта:

PublishRequest(); // the real one
//PublishRequestPsudo(); // the one want to be run during unit test

Я думаю о том, чтобы создать класс TestFlag:

if (!TestFlag.PublishFlag)
{
    PublishRequest();
}
else
{
    PublishRequestPsudo();
}

Это кажется многословным, если у меня есть много места для этого.Есть ли хороший шаблон для этого?

1 Ответ

7 голосов
/ 30 мая 2011

Довольно хороший способ добиться того же: Внедрение зависимости / инверсия управления

Еще одним хорошим ресурсом по этому вопросу является Кэшируемая архитектура. Надежность, внедрение зависимостей и несколько провайдеров

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...