Я хотел бы сделать интеграционный тест (с использованием WebApplicationFactory
), который проверяет мою конфигурацию маршрута и уровень сериализации.
Я хочу, чтобы тест (примерно) читался так:
var controllerSpy = new BooksControllerSpy(201);
var factory = new WebApplicationFactory<Startup>();
var client = factory.WithWebHostBuilder(builder =>
{
// ???? inject controllerSpy into controller registry
}).CreateClient();
var response = await client.PostAsync(
"/api/books",
new StringContent(@"{ ""name"": ""The Bible"" }")
);
Assert.Equal(HttpStatusCode.Created, response.StatusCode);
Assert.Equal("The Bible", controllerSpy.DeserializedCommand.Name);
Мне интересно, как конкретно я могу внедрить контроллер в реестр контроллеров моего тестового сервера, чтобы я мог сосредоточить свой тест на маршрутизации и сериализации.
Заранее благодарим вас за любые идеи, которые у вас есть!