0
我的應用使用react-router來管理用戶導航,現在我需要添加單元測試埠我被困在如何改變路由。基於反應路由器的應用測試
我<App />
是(簡體):
class AppUser extends Component {
render() {
return (
<div className="layout">
{this.props.children}
</div>
);
}
}
class Initial extends Component {
render() {
return (
<div className="initial" />
);
}
}
export default class App extends Component {
render() {
let masterPageBase = (props) => (
<AppUser>
{props.children}
</AppUser>
);
let notFound =() => (
<div>
<h1>Not found!</h1>
</div>
);
<Router history={browserHistory}>
<Route path="/" component={masterPageBase}>
<IndexRoute component={Initial} />
<Route path="*" component={notFound} />
</Route>
</Router>
}
}
而且我的測試是:
describe('<App />',() => {
it('user',() => {
const wrapper = shallow(<App />);
// FIXME This fails
expect(wrapper.find('AppUser').length).toEqual(1);
});
});
我怎樣才能改變路線,這樣會與現有子。
'useRouterHistory'真的需要嗎?它看起來與'createMemoryHistory'直接一樣。 – Wanderson
在所有測試運行後,我收到了很多這樣的消息:'(node:21004)UnhandledPromiseRejectionWarning:未處理的承諾拒絕(拒絕ID:2):TypeError:無法讀取未定義的屬性「歷史記錄」 – Wanderson
老實說,我不是這些類型的測試專家...所以如果它適用於你沒有使用路由器歷史,那就更好了:-) – Nicole