По какой-то причине, когда основные контроллеры ASP.NET создаются в отдельной сборке, TestServer не может найти действия контроллера, когда клиент делает запрос. (Приводит к ответу 404) Почему это так? Как я могу обойти это? Вот шаги, чтобы воспроизвести.
- Создание нового ASP.NET Core WebAPI с использованием .NET core
- Создайте интеграционные тесты в отдельном проекте и настройте тест для использования клиента TestServer() и получите тесты для успешной работы.
- Теперь разделите контроллер на его собственную совместно используемую библиотеку и проект рефакторинга, созданный на шаге 1, чтобы вместо этого использовать эту совместно используемую библиотеку.
- Перезапустите тест, который содержит класс TestServer(). Вы заметите, теперь это не удается.
Смотрите следующую ссылку для создания интеграционных тестов. Интеграционное тестирование с ASP.NET Core