, так что в основном я пишу небольшое веб-приложение с использованием. net framework 4.8. Он работает нормально, и я подумал, что напишу также несколько интеграционных тестов. Итак, я создал отдельный проект, скажем, DummyTests. Затем я создаю хост в памяти и запускаю несколько запросов, таких как:
var client = new HttpClient(server);
var request = createRequest("api/user/all", "application/json", HttpMethod.Get);
using (HttpResponseMessage response = client.SendAsync(request).Result)
{
//...
}
К сожалению, я всегда получаю сообщение об ошибке:
Произошла ошибка при попытке создать контроллер типа 'DummyController'. Убедитесь, что контроллер имеет конструктор publi c без параметров.
Настройка моего сервера:
var config = new HttpConfiguration();
config.Routes.MapHttpRoute(name: "Default", routeTemplate: "{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional });
config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
WebApiConfig.Register(config);
RouteConfig.RegisterRoutes(RouteTable.Routes);
var unityContainer = new UnityContainer();
config.DependencyResolver = new UnityDependencyResolver(unityContainer);
Core.UnityConfig.RegisterComponents(unityContainer);
server = new HttpServer(config);
Как вы можете видеть, я также назначаю DI для моей конфигурации объект.
Это работает только тогда, когда я перемещаю свои тесты в тот же проект, где WebApi, но я хотел сохранить тесты в отдельной сборке. Есть идеи, что я делаю не так?