ASP.NET MVC를 사용하여 단위 테스트 웹 페이지 승인은 어떻게하나요?

StackOverflow https://stackoverflow.com/questions/131723

  •  02-07-2019
  •  | 
  •  

문제

해당 프로필의 소유자 만 액세스 할 수있는 프로필 페이지가 있다고 가정 해 봅시다. 이 프로필 페이지는 다음과 같습니다.

사용자/프로필/{userID}

이제 다른 사용자 가이 페이지에 대한 액세스를 방지하기 위해 UserController 클래스의 프로필 기능을 구성하여 현재 세션의 ID를 확인할 수 있다고 생각합니다.

httpcontext.current.user.identity.name

ID가 URL의 ID와 일치하면 진행합니다. 그렇지 않으면 일종의 오류 페이지로 리디렉션됩니다.

내 질문은 어떻게 이와 같은 것을 테스트합니까? 컨트롤러의 httpcontext 대신에 어떤 종류의 종속성 주입을 사용하여 확인을 수행해야한다고 생각하지만, 가장 좋은 방법이 무엇인지 확실하지 않습니다. 모든 조언은 도움이 될 것입니다.

도움이 되었습니까?

해결책 2

나는 Kazi Manzur의 "usernamefilter"와 함께 갔다. 블로그 게시물. 매력처럼 작동하고 장치 테스트가 쉽습니다.

다른 팁

위의 링크는 좋은 것입니다. 또한 user.identity.name 값을 프로그래밍 방식으로 확인하는 대신 기사에 설명 된대로 승인 속성을 사용해야한다고 덧붙입니다.

http://weblogs.asp.net/scottgu/archive/2008/07/14/asp-net-mvc-preview-4-release-part-1.aspx

컨트롤러 컨텍스트에 가짜를 사용하여 할 수 있습니다. 이 기사를 확인하십시오. http://stephenwalther.com/blog/archive/2008/07/01/asp-net-mvc-tip-me-faing-the-controller-context.aspx

이것은 가짜 httpcontext와 함께 조롱이 들어오는 곳입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top