2
我試圖測試一個函數回調函數被調用用於我的組件內部的圖像。使用酶,sinon測試映像內部反應組件內部
這是組件:
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
也不onerror
方法。在生產中,代碼工作正常,可能與測試環境有關。它就像Img
標記對設置的url
沒有反應。