gpt4 book ai didi

c# - 如何最小化 FtpDataStream

转载 作者:行者123 更新时间:2023-11-30 22:35:59 25 4
gpt4 key购买 nike

我编写了一个 FTP 客户端应用程序,使用 nunit 工具测试我的功能。我尝试模拟 FTP 数据流。 GetAllCsvFilesFromFTP 方法调用 FtpConnect() 方法,但在测试时我想在不连接 FTP 服务器的情况下获取流数据。

    public List<string> GetAllCsvFilesFromFTP()
{
var files = new List<string>();
var responseStream = _ftpConnection.FtpConnect(WebRequestMethods.Ftp.ListDirectory);
if (responseStream != null)
{
var reader = new StreamReader(responseStream);
ReadResponseStream(files, reader);
reader.Close();
responseStream.Close();
}
return files.OrderByDescending(p => p).ToList();
}
public Stream FtpConnect(string connectionType, string fileName = "")
{
try
{
var request = (FtpWebRequest)WebRequest.Create(_readConfigXml.FtpUrl + fileName);
request.Credentials = new NetworkCredential(_readConfigXml.UserName, _readConfigXml.PassWord);
request.UsePassive = true;
request.UseBinary = true;
request.KeepAlive = true;
request.Method = connectionType;
var response = (FtpWebResponse) request.GetResponse();
var stream = response.GetResponseStream();
return stream;
}
catch (Exception ex)
{
_logWriter.WriteLog(_readConfigXml.LogPath, ex.Message);
return null;
}
}

我尝试在下面模拟测试的 Setup 方法:_ftpConnection.Setup(m => m.FtpConnect(It.IsAny(), It.IsAny())).Returns(?);

请问如何模拟返回数据。

最佳答案

string csvdata = "1,2,3,4,5":
var ms = new MemoryStream(Encoding.UTF8.GetBytes(csvdata));
ms.Position = 0;
_ftpConnection.Setup(m => m.FtpConnect(It.IsAny(), It.IsAny())).Returns(ms);

关于c# - 如何最小化 FtpDataStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7200652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com