UnitTest에서 컨트롤러로 사용자 정보를 어떻게 전달할 수 있습니까?

yW0K5o
[TestMethod]
public void UnitTestMethod1()
{
   Test1Controller controller = new Test1Controller();

   //This call throws NullReferenceException "Object reference not set to an instance of    an object." 
   WebSecurity.Login("User1", "password1");

   controller.TestMethod(); 
} 

위의 코드에서 WebSecurity.Login 호출을 작동시키는 방법은 무엇입니까?

조사를했지만 별로 도움이되지 않았습니다

감사.

닐 톰슨

WebSecurity를 ​​테스트하는 것이 아니라 자신의 코드 만 테스트하기를 원하므로 실제 WebSecurity 클래스를 제공하지 않고 컨트롤러 작업을 테스트 할 방법이 필요합니다 .

이를 수행하는 방법에는 여러 가지가 있지만 질문의 성격에 따라 가능한 가장 간단한 접근 방식 을 원한다고 생각 합니다 (가장 우아한 것보다는).이 경우 실제로 컨트롤러 동작을 테스트하지 않는 것이 좋습니다. 관련 MVC 배관을 사용하지만 논리를 꺼내서 테스트하십시오. 예 :

public Test1Controller
{
      public ActionResult SomeMethod()
      {
            //do mvc stuff

            //do WebSecurity stuff  

            //do your stuff
            MyLogicHere();
      }

    //public only so it can be tested
    public MyLogicHere()
    {
        //the logic in here does not have dependencies on difficult to test types 
    }
}

그런 다음 테스트 클래스에서 테스트 중입니다 Test1Controller.MyLogicHere(WebSecuirity가 필요하지 않음).

또는 실제로 DI, 인터페이스, Mocks 등을 이해합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

컨트롤러에서 라우트 파일로 변수를 어떻게 전달할 수 있습니까?

xml 조각 내의 컨트롤에 사용자 지정 속성을 어떻게 전달할 수 있습니까?

컨트롤러에서 Spring HttpRequest를 어떻게 사용할 수 있습니까?

기본이 아닌 생성자 객체를 컨트롤러에 어떻게 전달할 수 있습니까?

ASP MVC 설정에서 AngularJS의 변수를 한 컨트롤러에서 다음 컨트롤러로 어떻게 전달할 수 있습니까?

LinQ 생성 데이터를 컨트롤러에서 2 차 View로 어떻게 전달할 수 있습니까?

현재 캐시 인스턴스를 서비스 / 컨트롤러로 어떻게 전달할 수 있습니까?

한 컨트롤러에서 다른 컨트롤러로 큰 문자열을 어떻게 전달할 수 있습니까?

fetchedResultsController에서 사용자 지정 셀로 개체를 어떻게 전달할 수 있습니까?

상위 뷰 컨트롤러에서 Swift의 임베디드 뷰 컨트롤러로 데이터를 어떻게 전달할 수 있습니까?

CodeIgniter 컨트롤러에서 AngularJS 컨트롤러로 결과 데이터를 어떻게 전달할 수 있습니까?

Laravel 5.4에서 컨트롤러를 사용하여 DB에서 5 가지 데이터의 합계를 어떻게 전달할 수 있습니까?

로그인 성공 후 컨트롤러에서 ID 사용자 ID를 어떻게 얻을 수 있습니까?

사용자 정의 세트 데이터를 src 이미지 "onClick"에 어떻게 전달할 수 있습니까?

AngularJs ControllerAs 접근 방식을 사용하여 자식 컨트롤러에서 부모 컨트롤러의 함수를 어떻게 호출 할 수 있습니까?

html에서 컨트롤러에서 오는 각도 변수를 어떻게 사용할 수 있습니까?

다른 viewmodel에 viewmodel 목록이 있습니다. 액션에서 컨트롤러로 매개 변수를 어떻게 전달할 수 있습니까?

컨트롤러의 사용자 정의 변수를 Laravel의 블레이드로 어떻게 전달합니까?

모든 컨트롤러에서 변수를 전달하지 않고 어떻게 Laravel의 모든 보기에 변수를 전달할 수 있습니까?

Postmethod에서 id 경로를 전달하는 다른 컨트롤러로 RedirectToAction을 사용할 수 있습니까?

내 뷰에서 컨트롤러로 변수를 어떻게 전달합니까?

AngularJS : 컨트롤러간에 변수를 어떻게 전달할 수 있습니까?

laravel의 컨트롤러에 추가 매개 변수를 어떻게 전달할 수 있습니까?

다른 컨트롤러와 공유되는 부분에 변수를 어떻게 전달할 수 있습니까?

로그인 페이지에서 홈페이지로 사용자 정보를 어떻게 전달할 수 있습니까?

Laravel 컨트롤러에서 한 함수에서 다른 함수로 변수를 어떻게 전달할 수 있습니까?

NumberFormatException이 발생하지 않고 JavaFX의 다른 컨트롤러에서 보낸 정수를 어떻게 사용할 수 있습니까?

Scene Builder에서 컨트롤러를 어떻게 설정할 수 있습니까?

모듈에서 unittest 모듈로 인수를 어떻게 전달할 수 있습니까?

TOP 리스트

  1. 1

    Ionic 2 로더가 적시에 표시되지 않음

  2. 2

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  3. 3

    std :: regex의 일관성없는 동작

  4. 4

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  5. 5

    java.lang.UnsatisfiedLinkError : 지정된 모듈을 찾을 수 없습니다

  6. 6

    rclone으로 원격 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?

  7. 7

    상황에 맞는 메뉴 색상

  8. 8

    SMTPException : 전송 연결에서 데이터를 읽을 수 없음 : net_io_connectionclosed

  9. 9

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  10. 10

    Windows cmd를 통해 Anaconda 환경에서 Python 스크립트 실행

  11. 11

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  12. 12

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  13. 13

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  14. 14

    Cassandra에서 버전이 지정된 계층의 효율적인 모델링

  15. 15

    복사 / 붙여 넣기 비활성화

  16. 16

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  17. 17

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  18. 18

    SQL Server-현명한 데이터 문제 받기

  19. 19

    Seaborn에서 축 제목 숨기기

  20. 20

    ArrayBufferLike의 typescript 정의의 깊은 의미

  21. 21

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

뜨겁다태그

보관