我是一个开玩笑的新手,我正在为我的 react 应用程序编写单元测试,该应用程序使用 redux 并用 Typescript 编写。
我的容器组件带有这段代码:
const mapDispatchToProps = (dispatch: Dispatch<any>) => ({
onSelectScenario: (selectedScenario: any) => {
dispatch(selectScenario(selectedScenario));
}
});
我想编写一个单元测试,检查当我从测试(onSelectScenario
)调用这个道具时,该dispatch
方法将使用正确的参数调用。
知道如何监视这个dispatch
吗?
这是我调用 prop 方法的单元测试:
it('should dispatch', () => {
component.props().onSelectScenario('New Selected Scenario');
});
这是测试的设置,我在其中定义了提供模拟存储的容器组件:
const mockStore = configureMockStore();
let store = mockStore({
scenarios: ['Scenario 1', 'Scenario 2']
});
let component: ShallowWrapper<any, any>;
describe('ScenarioListGroupContainer Component', () => {
beforeEach(() => {
component = shallow(<ScenarioListGroupContainer store={store} />);
});
// ...
});