#c# #testing
#c# #тестирование
Вопрос:
Я настраиваю тест в проекте, с которым я работаю. Предполагается, что тест будет использовать два веб-api и одну функцию Azure, которые находятся в том же решении, что и тестовый проект. Вместо того, чтобы запускать все эти процессы перед запуском теста, есть ли способ запустить эти 3 проекта в фоновом режиме при запуске теста на вашем локальном компьютере?
Я осмотрелся и нашел «HostingEnvironment» интересным, но я не думаю, что это покрывает мои потребности. Если кто-нибудь может указать мне правильное направление, я был бы признателен.
Комментарии:
1. Вы можете настроить их как службу, чтобы они всегда выполнялись. Затем вам необходимо установить связь с процессами, что может быть сделано либо с использованием сокетов (TCP или UDP), либо с созданием каналов (streams) для IP в процессах.
2. Контроллеры Web API могут быть тестами, просто создавая их экземпляры и передавая любые требуемые параметры в конструкторе. Нет причин запускать всю службу только для тестирования одного действия контроллера.
3. @jdweng, Под сервисом вы подразумеваете, что мне нужно настроить его как локальную службу на моем собственном компьютере? Я взгляну на связь TCP и UDP.
4. Не могу определить, где выполняется код из описания.
Ответ №1:
Я думаю, вам нужно создать сервис для вашего API.
sc create YourAPI binPath="C:.....exe" start=auto type=own