我正在尝试测试是否正在为我的组件内的图像调用函数回调。
这是组件:
const ImageById = (props) => {
return (
<div>
<img src={props.url} onLoad={props.onLoad} onError={props.onError} />
</div>
);
};
我的测试挂载了组件,然后监视回调函数:
describe('ImageById', () => {
it('should call load or error', () => {
let callbackSpy = sinon.spy();
let comp = mount(ImageById, {url: 'some-url', onLoad: callbackSpy, onError: callbackSpy});
expect(callbackSpy.called).to.equal(true);
});
});
测试失败是因为内部Img
标签从不调用它的onload
noronerror
方法。在生产中,代码运行良好,可能与测试环境有关。它的likeImg
标签不会对url
正在设置的内容做出反应。