我是这个东西的新手,我读了一下test,但是我不知道该如何测试此功能:
[Authorize(Roles = "admin")]
[Route("user/byUsername/{username}")]
public async Task<IHttpActionResult> GetUserByName(string username)
{
var user = await this.AppUserManager.FindByNameAsync(username);
if (user != null)
{
return Ok(this.TheModelFactory.Create(user));
}
return NotFound();
}
我想使用Moq和MS Test。谢谢。
答案 0 :(得分:0)
您必须在方法中使用路径,因此都可以对其进行测试以具有完整的覆盖范围。假设将AppUserManager与di一起注入到类中,则可以创建它的模拟版本,该模拟版本在方法FindByNameAsync(username)或用户上返回null。断言将测试NotFound和返回的Ok内容。
您还可以编写测试以检查属性是否存在并具有正确的内容。这样可以避免输入错误和路线或角色发生意外更改。