통합 테스트를 위해 서버를 사용하지 않고 FtpWebRequest.GetResponse()를 위조하려고합니다. 내가 뭘하려고 노력한 간단한 가짜 FtpWebResponse를 반환하지만, 내부이기 때문에 당신은 FtpWebResponse에 대한 생성자에 액세스 할 수 없습니다. 여기 가짜 FtpWebResponse를 만드는 방법
내 코드입니다 :생산 코드 : 나는 가짜 FtpWebResponse 돌아갈 때 사용하려고
using (FtpWebResponse response = (FtpWebResponse) ftpWebRequest.GetResponse())
{
ftpResponse = new FtpResponse(response.StatusDescription, false);
}
테스트 가짜 : 결국
ShimFtpWebRequest.AllInstances.GetResponse = request =>
{
FtpWebResponse ftpWebResponse= new FtpWebResponse(/*parameters*/); // not allowed because it is internal
ftpWebResponse.StatusDescription="blah blah blah";
return ftpWebResponse;
};
을, 내가 원하는 모든 해야 할 일은 내 테스트에서 어설 션을위한 가짜 ftpWebResponse를 반환하는 것입니다. 어떤 아이디어? 감사합니다.
이 대답은 위의 Visual Studio Premium 또는 필요하다는 것을 주목해야한다. 내가 도움이 될만한 Prig이라는 대안이 있지만 그렇지 않은 경우에는 모두에게 도움이되지 않는 프리미엄 솔루션 *으로 간주되어야합니다. – Maffelu