Owin.Testing TestServer с контейнером Windsor и Moq

У меня есть WebApi, где я использую Виндзорский замок в качестве инфраструктуры IoC. Я использую библиотеку Owin, и был создан файл запуска для централизованной настройки API. Все работает как положено.

У меня есть интеграционные тесты, в которых я использую библиотеку Owin.Testing, а сервер запускается с использованием тестового класса запуска, который наследует реальный класс. Контейнер Windsor был успешно настроен для TestServer. Интеграционные тесты выполняют веб-запросы на работающий сервер, размещенный самостоятельно. Все отлично работает

Есть две вещи, которые не работают при использовании тестового сервера:

  • ModelState контроллера всегда действителен, даже когда я передаю недопустимое тело json для запроса POST. При размещении на IIS все работает как положено. Есть идеи, что может быть не так с тестовым сервером?
  • Я использую VS Test Runner, и Owin TestServer инициализируется в методе [ClassInitialize]. Я не хочу создавать новый тестовый сервер после каждого теста, так как инициализация контейнера в Виндзоре довольно дорогая. Есть тесты, где мне нужно смоделировать некоторые сторонние сервисы (используя метод Register контейнера и Moq). В конце каждого теста я хочу откатить все макеты из контейнера, которые были сделаны в объеме выполненного теста. Можно ли как-нибудь это сделать? Я пытался зарегистрироваться в области, но не работает.

Спасибо

0 ответов

Другие вопросы по тегам