我有一個資源程序集,其中包含我的應用程序使用的各種字符串,圖標和位圖。如何爲單元測試創建內存中圖標
我寫了一個資源管理器類,我想單元測試。我設法創建了具有內存字符串(duh)和位圖的單元測試,但我正在努力處理圖標資源。
只需使用高度和寬度參數即可輕鬆創建位圖,但圖標似乎需要有效的流。
我已經試過:
Icon icon = new Icon(new MemoryStream(), new Size(10, 15));
但是,這給我的錯誤「論證‘圖像’必須是可以被用作圖標的圖片」。
很顯然,我正在嘗試編寫單元測試,以避免必須從文件系統加載實際圖標。此外,ResourceManager類正在處理程序集中的嵌入式資源,因此我不想在單元測試程序集中嵌入真正的圖標,否則我將使用類似的代碼來促進測試,這看起來反直觀。
任何想法?
乾杯, 奔的標準系統圖標
您是否嘗試將圖標存儲爲二進制值(或常量),然後將二進制值寫入流? – Kane 2010-07-06 10:37:08
我剛剛看了一下,並隨機選擇了一個圖標,創建了一個長度爲34494的字節數組。不確定如何獲得一個有效的字節數組,其長度爲常量。 – 2010-07-06 10:57:23
從查看文檔,我認爲你將不得不提供一個真正的圖標流,我相信它也包含一些元數據。所以如果不在這裏使用嵌入式資源,它將很難脫身。 – Grzenio 2010-07-06 11:02:54