[Required]批注在运行时可以正常运行,但是我可以使用单元测试对其进行测试吗?
我尝试调试它,但是由于该方法的直接调用,似乎测试刚刚进入。
测试:
var result = (StatusCodeResult)await this.Sut.Values(1, null);
result.StatusCode.Should().Be(HttpStatusCode.BadRequest);
方法:
public async Task<IActionResult> Values(int identifier, [Required] SomeType query)
{
var readResult= await this.resultProvider.GetValues(identifier, query);
if (readResult.Failed)
{
var error = new ErrorRepresentation(resultReadResult.Message);
return this.StatusCode(error.StatusCode);
}
return this.Ok(readResult.Value);
}
我应该获得包含400个代码的http响应,但找不到404。
答案 0 :(得分:0)
我的猜测是,它将寻找一个替代方法,该方法的第二个参数为可选参数,但找不到该参数,因此找不到404。
这是一个路由问题,请尝试为测试添加自定义路由。