我正在撰寫單元測試的項目的一部分,用於從jpeg頭中提取數據。單元測試 - 在測試項目中使用圖像作爲資源
我想創建一個單元測試,測試這個提取,使用已知的圖像(所以我可以測試該圖像的已知屬性)。
對我來說,這個示例圖像作爲資源保存在測試項目中似乎很符合邏輯,但我不知道如何去做。如果這是一個WPF項目,我只需使用包語法。
對於像這樣的東西(或者甚至是可行的東西)有沒有最佳實踐?
感謝, WTS
我正在撰寫單元測試的項目的一部分,用於從jpeg頭中提取數據。單元測試 - 在測試項目中使用圖像作爲資源
我想創建一個單元測試,測試這個提取,使用已知的圖像(所以我可以測試該圖像的已知屬性)。
對我來說,這個示例圖像作爲資源保存在測試項目中似乎很符合邏輯,但我不知道如何去做。如果這是一個WPF項目,我只需使用包語法。
對於像這樣的東西(或者甚至是可行的東西)有沒有最佳實踐?
感謝, WTS
這是基於@Matthew Manela公司發佈的答案,它指出我的(或或許更合適一個)正確的方向。它對我來說感覺有點奇怪,但它有效。
首先,將圖像設置爲內容資源,並始終複製。
然後,使用下面的輔助函數(由不同的測試中使用):
private string GetValidFileName()
{
FileInfo fileInfo = new FileInfo(Assembly.GetExecutingAssembly().Location);
return Path.Combine(fileInfo.DirectoryName, @"Resources\Sample.jpg");
}
您可以在您的測試項目作爲嵌入資源的圖像。
然後你可以使用下面的代碼來獲取圖像的流:
Assembly.GetExecutingAssembly().GetManifestResourceStream("TestProject.TestImages.myImage.png");
欲瞭解更多信息,請參閱this link
+1把我在正確的道路上。我不想要流,而是一個絕對的文件路徑,但我確實使用了反射。看到我發佈的答案。 – 2011-01-12 21:36:47
我認爲馬修斯的解決方案實際上是整潔的,因爲這意味着您的單元測試*僅取決於程序集,而不是其他資源 – 2011-01-17 22:05:54