Microsoft.Net.Http
을 사용하여 Json
데이터를 검색하는 서비스가 있습니다. 큰!.NET 테스트에서 조롱 한 HttpClient를 전달하는 방법은 무엇입니까?
물론 단위 테스트가 실제 서버에 적용되는 것을 원하지 않습니다. 그렇지 않으면 통합 테스트입니다.
여기에 내가 Moq
또는 FakeItEasy
... 말 ... 이것을 조롱 수있는 방법을 잘 모르겠어요 (의존성 주입을 사용하여 ...) 내 서비스의 ctor
public Foo(string name, HttpClient httpClient = null)
{
...
}
입니다.
나는 내 서비스가 GetAsync
또는 PostAsync
을 호출 할 때 그 전화를 가짜로 만들 수 있는지 확인하고 싶습니다.
어떻게 할 수 있습니까? 난 내 자신의 래퍼를 할 필요가 없습니다 -hoping-
는 난 .. 그의 쓰레기 :(Microsoft는이과 감독을 한 수 잘?
(예, 그것은 쉽게 원인 래퍼 만들기 .. 이전에 해봤지만 ... 요점입니다!)
_ "나는 내 자신의 래퍼를 만들 필요가 없습니다."- 얼마나 많은'HttpClient' 메소드와 속성을 사용합니까? 일반적으로 이들을위한 인터페이스를 만드는 것이 유용 할 수 있습니다. 그런 다음이를 조롱 할 수 있습니다. – CodeCaster
(내가 OP에서 언급 한 것처럼) 합의 - 쉽고 간단합니다 ...하지만 내가 가질 필요는 없지만 가질 수 있을까요? 이것은 핵심이되어야하는 것입니다 .. 맞습니까? 이게 유일한 방법인가요? –
내가 아는 한, 가상 전화 일 경우 전화를 걸 수 있습니다. 그렇지 않은 경우 래퍼를 작성해야한다고 가정합니다 (이는 더 깨끗한 방법입니다). – ElGauchooo