使用ASP.Net Core 2.2,我的PUT中使用了ModelBinder,如下所示:
[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)并且我想确保输入错误会产生正确的输出。
这不必使用实际的模型活页夹。我可以模拟一个那就是我需要的。如果这样做,我仍然需要至少一项测试,以确保注释正确地应用于代码中。
这可以通过integration