【发布时间】:2019-11-20 09:16:22
【问题描述】:
我向我的控制器添加了一个方法来从 HttpContext 中的 JWT 令牌中获取用户 ID。在我的单元测试中,HttpContext 是 null,所以我得到了一个异常。
我该如何解决这个问题?有没有办法将HttpContext 起订量?
这是在我的基本控制器中获取用户的方法
protected string GetUserId()
{
if (HttpContext.User.Identity is ClaimsIdentity identity)
{
IEnumerable<Claim> claims = identity.Claims;
return claims.ToList()[0].Value;
}
return "";
}
我的一个测试看起来像这样
[Theory]
[MemberData(nameof(TestCreateUsergroupItemData))]
public async Task TestPostUsergroupItem(Usergroup usergroup)
{
// Arrange
UsergroupController controller = new UsergroupController(context, mapper);
// Act
var controllerResult = await controller.Post(usergroup).ConfigureAwait(false);
// Assert
//....
}
【问题讨论】:
标签: c# unit-testing .net-core xunit