В ASP.Net Core 2.2 у меня ModelBinder используется в моем PUT следующим образом:
[HttpPut("{taskIdentifier}/{number}")]
public async Task<IActionResult> Put(string taskIdentifier, string number,
[ModelBinder(typeof(TaskUpdateV1Binder<TaskUpdate>))]TaskUpdate value)
Во время выполнения вызывается TaskUpdateV1Binder, он читает тело запроса и создает объект TaskUpdate.
Я хотел бы протестировать это.Я не могу просто вызвать Put напрямую из модульного теста, потому что это обходит привязку модели.
У меня уже есть тесты самого связывателя, но мне нужно проверить, используется ли он контроллером.
Яне тестирует MVC маршрутизацию.
Мне нужен модульный тест, который не пройдёт, если кто-то удалит аннотацию ModelBinder.
Некоторые свойства устанавливаются связывателем (например, ModelState.IsValid), и я хочу убедиться, что неправильный ввод приводит к правильному выводу.
Этоне должен использовать фактическую модель связующего.Я могу смоделировать тот, который делает то, что мне нужно.Если я сделаю это, мне все равно понадобится хотя бы один тест, чтобы убедиться, что аннотация правильно применяется в коде.