reactjs – 与React Router 2匹配的单元测试路由
发布时间:2020-12-15 05:06:55 所属栏目:百科 来源:网络整理
导读:我正在尝试为React应用程序添加单元测试,并希望测试React Router(2.0.1)提供的路由.我想测试一下我提供的特定路径是否与路径匹配.我正在使用Mocha编写测试并期待. 我查看了React Router存储库中的文档,但我能看到的唯一测试指南是解释如何测试 Link /以及它
我正在尝试为React应用程序添加单元测试,并希望测试React Router(2.0.1)提供的路由.我想测试一下我提供的特定路径是否与路径匹配.我正在使用Mocha编写测试并期待.
我查看了React Router存储库中的文档,但我能看到的唯一测试指南是解释如何测试< Link />以及它是如何呈现的. 说我有以下代码: // import statements omitted for brevity export const routes = ( <Route path="/" component={App}> <IndexRoute component={Index} /> <Route path="/foo"> <IndexRoute component={FooIndex} /> <Route path="add" component={FooAdd} /> <Route path=":fooId" component={FooDetails} /> </Route> </Route> ) ReactDOM.render( <Router history={browserHistory}>{routes}</Router>,document.getElementById('app') ) 如何测试routes变量中创建的路由是否与以下内容匹配: > / 但不是像以下路线: > / foo / bar / 12 基本上我想检查每个预期的URL格式是否有匹配它的路由,并且意外的URL与任何路由都不匹配. 我对路由所呈现的元素不感兴趣,所以不希望我的测试基于检查特定的东西是否被渲染,只是找到了匹配的路径,最好是某种方式来检查它是否在事实上预期的路线(我猜测检查组件的名称是什么?) 感谢任何帮助. 谢谢
我们在matchRoutes:
https://github.com/ReactTraining/react-router/blob/v3/modules/__tests__/matchRoutes-test.js的测试中测试了这一点
你可以遵循这种模式.如果您无法通过引用标识路由,则可以确实对已呈现的组件进行断言. 由于未导出matchRoutes,您将需要使用匹配帮助程序(否则用于服务器端呈现),并检查renderProps.routes或renderProps.components. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |