2009-09-28 157 views
6

我正在開發一個具有圖片上傳功能的MVC網站,我想寫一個測試來上傳圖片。測試ASP.NET MVC網站

我做了一個名爲TestImage.jpg的圖像,並將Copy to Output設置爲「Copy if Newer」。在我的測試中,我嘗試加載與下面的代碼:

System.Drawing.Image testImage = System.Drawing.Image.FromFile(@"TestImage.jpg"); 

不應該「複製到輸出」將它複製到測試運行相同的目錄?如果不是,我怎麼知道它被複制到哪裏?最好的是某種項目根相對路徑,所以我可以隨意移動解決方案而不會中斷。

在Solution Explorer

回答

16

在MSTest的,該框架將所有的.dll到一個叫做TestResults文件夾。不幸的是,它只會將.dlls,.pdbs和.configs從輸出文件夾複製到TestResults文件夾,因此您的文件不會被複制。

要複製這些文件,你要麼需要

  • 在部署選項卡中添加相應的文件中添加問題的DeploymentItem attribute到測試(S)
  • 編輯您的.testrunco​​nfig文件

更好的選擇是將測試專用文件作爲嵌入資源嵌入到測試中,然後直接從資源流中讀取它們。

+0

謝謝 - 「將DeploymentItem屬性添加到有問題的測試中」工作 – Greg 2009-10-14 07:39:31