可以测试方法参数所需的注释吗?

问题描述 投票:0回答:1

[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。

c# .net-core annotations required
1个回答
0
投票

我的猜测是它寻找一个替代方法,它在可选项上有第二个参数,但没有找到它,因此404。

这是一个路由问题,尝试为您的测试添加自定义路由。

© www.soinside.com 2019 - 2024. All rights reserved.