Reactjs 单元测试中的道具未持久(React测试库)
我有这样一个简单的测试:Reactjs 单元测试中的道具未持久(React测试库),reactjs,unit-testing,react-testing-library,Reactjs,Unit Testing,React Testing Library,我有这样一个简单的测试: const { getByTestId } = renderWithStore( <ThemeProvider theme={{}}> <ButtonContainer {...baseProps} /> </ThemeProvider>, ); 而configureStore是这样的: const configureStore = (): Store<any&
const { getByTestId } = renderWithStore(
<ThemeProvider theme={{}}>
<ButtonContainer {...baseProps} />
</ThemeProvider>,
);
而configureStore
是这样的:
const configureStore = (): Store<any> => {
const client: Middleware = Client(Rest);
const middlewares = [error(handler), thunk, client, analytics()];
const enhancer: StoreEnhancer<AppState> = applyMiddleware(...middlewares);
const localEnhancer: StoreEnhancer<AppState> = composeWithDevTools({
name: 'React Add-In',
port: 8000,
secure: true,
realtime: true,
})(enhancer as any) as any;
let localState: string;
let persistedState = JSON.parse(localState);
const store = createStore<AppState>(
reducers,
localState,
localEnhancer,
);
return store;
};
export default configureStore();
常量配置存储=():存储=>{
常量客户端:中间件=客户端(Rest);
const middleware=[error(handler)、thunk、client、analytics()];
const enhancer:StoreEnhancer=applyMiddleware(…中间件);
const localEnhancer:StoreEnhancer=composeWithDevTools({
名称:“React加载项”,
港口:8000,
安全:是的,
实时:是的,
})(增强子,如有)如有;
让localState:string;
让persistedState=JSON.parse(localState);
const store=createStore(
减速器,
地方州,
局部增强子,
);
退货店;
};
导出默认配置存储();
我面临的问题是,baseProps
不断被来自store
的initialState
值覆盖,我不知道为什么。有没有一种方法可以避免这种情况发生,这样我就可以通过单元测试的道具了
const configureStore = (): Store<any> => {
const client: Middleware = Client(Rest);
const middlewares = [error(handler), thunk, client, analytics()];
const enhancer: StoreEnhancer<AppState> = applyMiddleware(...middlewares);
const localEnhancer: StoreEnhancer<AppState> = composeWithDevTools({
name: 'React Add-In',
port: 8000,
secure: true,
realtime: true,
})(enhancer as any) as any;
let localState: string;
let persistedState = JSON.parse(localState);
const store = createStore<AppState>(
reducers,
localState,
localEnhancer,
);
return store;
};
export default configureStore();