這個(gè)單元測(cè)試應(yīng)該通過(guò),但我不明白為什么沒(méi)有通過(guò)。該代碼在我的主控制器中運(yùn)行,所以我知道它確實(shí)有效。但我覺(jué)得它在我的單元測(cè)試中的評(píng)估有所不同。我嘗試過(guò)各種其他斷言,但錯(cuò)誤的布爾值除外。我不想進(jìn)行錯(cuò)誤的比較。 [TestMethod] public void DownloadFileNames() { // Arrange string ftpBase = "myfiles.com/public/doc"; string fileName = "10408c"; Search model = new Search(); model.FileName = fileName; //A string to hold the base FTP address: Search searchResults = new Search(); List<string> fnl = new List<string>(); var uriBuilder = new UriBuilder(); // Act uriBuilder.Scheme = "ftp"; uriBuilder.Host = ftpBase; FtpWebRequest reqFTP = (FtpWebRequest)FtpWebRequest.Create(uriBuilder.Uri); reqFTP.Method = WebRequestMethods.Ftp.ListDirectory; FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse(); Stream responseStream = response.GetResponseStream(); List<string> files = new List<string>(); StreamReader reader = new StreamReader(responseStream); while (!reader.EndOfStream) files.Add(reader.ReadLine()); reader.Close(); responseStream.Dispose(); //Loop through the resulting file names. foreach (string folder in files) { if (folder.IndexOf(".") < 1) { var childDirectory = uriBuilder.Uri + folder + "/"; FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(childDirectory); request.Method = WebRequestMethods.Ftp.ListDirectory; response = (FtpWebResponse)request.GetResponse(); responseStream = response.GetResponseStream(); reader = new StreamReader(responseStream); string result = reader.ReadToEnd(); reader.Close();我希望 fnl 和字符串匹配。但 Expected 給出了這個(gè)代碼?!邦A(yù)期的:。 ”我懷疑我錯(cuò)過(guò)了一些東西,但由于我在單元測(cè)試方面仍然處于綠色狀態(tài),所以我不知道我錯(cuò)過(guò)了什么。如果您沒(méi)有什么建設(shè)性的意見(jiàn),請(qǐng)轉(zhuǎn)達(dá)任何意見(jiàn)。我一直在尋找我的問(wèn)題的答案,但我發(fā)現(xiàn)的任何內(nèi)容似乎都與我的問(wèn)題無(wú)關(guān),不足以提供任何幫助。
1 回答

尚方寶劍之說(shuō)
TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
fnl是一個(gè)字符串列表(即:)List<string>,而另一個(gè)只是一個(gè)原始的String
鑒于所顯示的代碼,這兩個(gè)完全不同的對(duì)象不可能匹配
假設(shè)列表僅包含一個(gè)字符串,則僅使用列表中的索引
//...
Assert.AreEqual(fnl[0], "ftp://myfiles.com/public/doc/cor/10408c.dat");
只是為了可讀性
//...
string expected = "ftp://myfiles.com/public/doc/cor/10408c.dat";
string actual = fnl[0];
Assert.AreEqual(expected, actual);
- 1 回答
- 0 關(guān)注
- 129 瀏覽
添加回答
舉報(bào)
0/150
提交
取消