統合テストのために FtpWebRequest.GetResponse() を偽造しようとしていますが、サーバーを使用していません。私がやろうとしているのは、単純に偽の FtpWebResponse を返すことですが、内部であるため、FtpWebResponse のコンストラクターにアクセスすることはできません。
これが私のコードです:
生産コード:
using (FtpWebResponse response = (FtpWebResponse) ftpWebRequest.GetResponse())
{
ftpResponse = new FtpResponse(response.StatusDescription, false);
}
偽の FtpWebResponse を返すために使用しようとしている偽のテスト:
ShimFtpWebRequest.AllInstances.GetResponse = request =>
{
FtpWebResponse ftpWebResponse= new FtpWebResponse(/*parameters*/); // not allowed because it is internal
ftpWebResponse.StatusDescription="blah blah blah";
return ftpWebResponse;
};
最後に、テストでアサーション用に偽の ftpWebResponse を返したいだけです。何か案は?ありがとう