我对这一切都很陌生,所以任何帮助都会受到赞赏。
我已经从url方法创建了一个下载图像,我需要测试它。 我已经尝试填写测试参数,但我不确定我的意思是什么。
你能告诉我什么意思去哪里,
谢谢。 亚伦
[TestMethod()]
public void DownloadImageFromURLTest()
{
string url = "http://www.omnimedicalsearch.com/conditions-diseases/images/skin-mole.jpg";
Image expected = Image.FromFile(@"C:\Users\Public\Pictures\Sample Pictures\skin-mole.jpg");
Image actual = Image.FromFile(@"C:\Users\Public\Pictures\Sample Pictures\skin-mole.jpg"); ;
actual = CloudConnection.DownloadImageFromURL(url);
Assert.AreEqual(expected, actual);
Assert.Inconclusive("Verify the correctness of this test method.");
}
答案 0 :(得分:2)
试试这个:
string url = "http://www.omnimedicalsearch.com/conditions-diseases/images/skin-mole.jpg";
Image expected = Image.FromFile(@"C:\Users\Public\Pictures\Sample Pictures\skin-mole.jpg");
Image actual = Image.FromFile(@"C:\Users\Public\Pictures\Sample Pictures\skin-mole.jpg"); ;
actual = CloudConnection.DownloadImageFromURL(url);
MemoryStream ms = new MemoryStream();
expected.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
String expectedBitmap = Convert.ToBase64String(ms.ToArray());
ms.Position = 0;
actual.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
String actualBitmap = Convert.ToBase64String(ms.ToArray());
Assert.AreEqual(expectedBitmap, actualBitmap);
答案 1 :(得分:1)
我不会特别希望Image
覆盖Equals
- 有许多不同的方式可能需要平等。比较两个流(文件和Web版本)中的数据会更有意义。
答案 2 :(得分:1)
我认为Assert.Equal(Image, Image)
不会比较两个图像的内容,而是会比较参考文献。您应该编写一个手动比较两个图像的方法
您可以将图像转换为位图,然后比较位图
答案 3 :(得分:0)
expected
和actual
是对不同对象的引用。
Assert.AreEqual
只能将这两个图片作为参考进行比较,因为Image
不会覆盖Equals
- 无法检查图像是否具有相同的内容。你需要自己写一下。