내 시나리오는 - 두 가지 핵심 메서드 : CreateRequest 및 GetResponse가있는 인터페이스 (IRestSupport) 뒤에 구체적인 클래스 (RestSupport)가 있습니다. 이 클래스는 JSON을 통해 웹 엔드 포인트와 통신 할 수 있도록 설계되었습니다. 이 클래스는 더 높은 수준의 비즈니스 로직을 가진 다른 클래스에 의해 호출되어 보내야 할 정확한 JSON을 제공합니다.유닛 테스트 WebRequest.CreateHttp 내 라이브러리 내
테스트하는 동안 끝점을 호출하지 않도록 이러한 두 가지 방법을 단위 테스트 할 수 있어야합니다. CreateRequest는 Headers 컬렉션에 정보를 추가해야하기 때문에 HttpWebRequest를 사용합니다. 이보다 더 많은 코드가 있지만 아래에 예제가 있습니다.
요청 작성을 제어 할 수 있도록 IWebRequestCreate를 사용하는 웹에서 많은 예제를 볼 수 있습니다. 내가 가지고있는 문제는 HttpWebRequest를 사용할 때 제대로 작동하지 않는 것처럼 보일 수 있다는 것입니다. IWebRequestCreate의 Create 메서드는 WebRequest 개체를 반환 할 것으로 예상합니다. 웹 예제의 단점은 HttpWebRequest를 사용하지 않는다는 것입니다. 나는 HttpWebRequest로부터 클래스를 파생시킬 수 없다. 그것은 정말로 내 문제의 핵심이다.
가짜에 액세스 할 수는 없지만 Moq을 사용할 수 있습니다. 내 목표는 피할 수있는 경우 라이브러리 코드를 수정하지 않는 것입니다.