断言.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.");
}

断言.AreEqual失败c#错误

试试这个:

  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#中两个图像的比较

expectedactual是对不同对象的引用。

Assert.AreEqual将只能比较两个图像作为参考,因为Image不覆盖Equals -没有设施检查图像是否具有相同的内容。