我编写了一些反应代码,并为离线功能添加了服务工作者。我想用单元和集成测试来覆盖我的代码。有没有办法测试我的反应组件和我的服务工作者?
答案 0 :(得分:0)
您可以使用代理模式。
1)创建类ServiceWorkerInterface
2)创建类ServiceWorkerMock(扩展ServiceWorkerInterface)
3)创建类ServiceWorkerBrowser(扩展ServiceWorkerInterface)。它包含真正的ServiceWorker
道具:
MyComponent.propTypes = {
serviceWorker: PropTypes.instanceOf(ServiceWorkerInterface)
}
方法:
class MyComponent extends React.Component{
/**
* @return {ServiceWorkerInterface}
*/
getServiceWorker () {
return this.props.serviceWorker
}
}