如何正确使用jest单元测试img 的src图片源是否能正常加载?

问题描述

我想使用jest单纯测试一个img标签的src图片源是否能正常加载,例如图片源存在,test pass,图片源如果不存在,就报test fail

问题出现的环境背景及自己尝试过哪些方法

以下是我的测试用例:

it('should call any passed in onError after an image load error',() => {
    const onError = jest.fn(() => {
      console.log('资源加载错误!');
    });
    const str = '<img id="404" src="test.png" onerror="onError()" />';
    console.log('str:', str);
    document.body.innerHTML = str;
    expect(onError).toHaveBeenCalled(); 
  });

你期待的结果是什么?实际看到的错误信息又是什么?

我期待结果只是判断src属性的图片源是否存在,是否能在页面正常加载。我目前的思路是,在页面inner一个img标签,如果资源出错会走onerror,然后判断onerror回调函数是否被调用过,调用过就说明资源有问题,没调用过就说明资源没问题。现在的结果是,src我随便写的,预计结果应该调用onerror 1次,但是真实情况是onerror调用 0次。
image.png

阅读 2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进