需要测试的我的js文件导入了一个iconfont.js库,以便在此组件中使用图标。但是当我运行npm test时,它显示:
Test suite failed to run
TypeError: Cannot read property 'getAttribute' of undefined
当我看到iconfont.js时,它具有以下有关此错误的代码:
h=(a=document.getElementsByTagName("script"))[a.length-1].getAttribute("data-injectcss");
我尝试在测试文件中使用document.body.innerHTML
来模拟,但没有用。
我是反应单元测试的新手,请帮助我。
答案 0 :(得分:0)
我自己解决此问题。
我使用require()
代替import
,并在需要之前将<script></script>
分配给document.body.innerHTML
。
如下所示:
//old
import component from 'need-test-component';
//new
document.body.innerHTML = '<script></script>'
const component = require('need-test-component').default;