3
내가 JWT는과 같이 클라이언트의 사용자 이름을 얻을 주장 이용한 제어 방법을 테스트하려고 해요 주장 :단위 테스트 .NET 핵심 웹 API 컨트롤러
[Authorize]
[Route("api/[controller]")]
public class ApprovalsController : Controller
{
// POST api/approvals
[HttpPost]
public IActionResult Post([FromBody]ApprovalViewModel value)
{
// ...
// Incoming approval VM converted here
Approval newApproval = TinyMapper.Map<Approval>(value);
// Values set server-side here.
newApproval.Id = -1;
newApproval.Created = DateTime.Now;
// Claim queried here
newApproval.CreatedBy = User.FindFirst(ClaimTypes.Name).Value;
// Submission to context
_approvalRepo.Insert(newApproval);
_approvalRepo.Update();
// ...
}
을하지만 난 했어 Moq와 XUnit을 사용하여 위의 컨트롤러를 테스트하는 방법을 생각해 보려는 시도에서의 운명. 내가 검색 한 많은 질문은 컨트롤러의 ControllerBase.User 특성을 직접 설정하는 것이지만, Aspnetcore.MVC (1.1.1)에서는 사용자가 으로 설정되어 있으며 읽기 전용으로 설정되어 있습니다.
여기 내가 뭘해야할까요?
@ Nkosi 자기 교육 목적을 위해 왜이 질문이 * 정확히 * 연결된 것과 동일한 지 설명 할 수 있습니까? 유사점이 있지만, Ilya의 대답은 직접적이고 간단합니다. 나는 공훈으로 보았습니다. –