Axe*_*ect 11 javascript iframe sinon reactjs enzyme
我写了一个简单的React组件,它呈现了一个<iframe>:
export class Iframe extends React.component {
render() {
return <iframe src={ this.props.src } />;
}
}
Run Code Online (Sandbox Code Playgroud)
我试图通过检查加载的内容src是否正确填充来测试它<iframe>.为了做到这一点,我尝试访问frame.contentWindow,但在用Enzyme安装后它总是返回undefined.
我试图<iframe>用Sinon 模拟内容FakeXMLHttpRequest:
server = sinon.fakeServer.create();
server.respondWith('GET', 'test', [200, { 'Content-Type': 'text/html' }, '<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><body><div class="myClass">Amazing Unicorn</div></body></html>']);
container = mount(<Iframe src='test' />);
Run Code Online (Sandbox Code Playgroud)
并与<iframe src='data:text/html' >:
const src = 'data:text/html;charset=utf-8,<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><body><div class="myClass">Amazing Unicorn</div></body></html>';
container = mount(<Iframe src={ src } />);
Run Code Online (Sandbox Code Playgroud)
但在两种情况下用酶测试:
container = mount(<Iframe src='...' />);
container.instance().contentWindow // equals 'undefined'
container.find('iframe').contentWindow // equals 'undefined'
Run Code Online (Sandbox Code Playgroud)
当提供有效src属性时,该组件在浏览器上按预期工作和呈现.有没有办法contentWindow在使用Enzyme(或任何其他测试框架)的React测试中访问?
| 归档时间: |
|
| 查看次数: |
2486 次 |
| 最近记录: |