测试Serviceworker和React组件(ES6)

时间:2017-12-21 14:30:19

标签: reactjs service-worker google-chrome-headless

我编写了一些反应代码,并为离线功能添加了服务工作者。我想用单元和集成测试来覆盖我的代码。有没有办法测试我的反应组件和我的服务工作者?

1 个答案:

答案 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
  }
}