断言.AreEqual失败c#错误
本文关键字:错误 失败 AreEqual 断言 | 更新日期: 2023-09-27 18:16:36
我对这一切都很陌生,所以任何帮助都会很感激。
我已经从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.");
}
试试这个:
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);
我不会特别期望Image
覆盖Equals
-有很多不同的方式,你可能想要平等。比较两个流中的数据(文件和web版本)会更有意义。
我不认为Assert.Equal(Image, Image)
会比较两个图像的内容,而是比较参考文献。您应该编写一个方法,手动比较两个图像
您可以将图像转换为位图,然后比较位图
看一下c#中两个图像的比较
expected
和actual
是对不同对象的引用。
Assert.AreEqual
将只能比较两个图像作为参考,因为Image
不覆盖Equals
-没有设施检查图像是否具有相同的内容。