我正在使用componentDidMount生命周期挂钩,该挂钩具有react-event-observers订阅方法,它侦听从其他组件发布的数据。我想使用react-testing库来测试组件。我正在尝试在测试文件中设置模拟发布数据以呈现组件。但是subscription方法不会列出模拟数据。如何模拟/ SpyOn subscription方法,以便它获取模拟值并呈现其余组件。使用此库: react-event-observer
我尝试在beforeEach方法中设置模拟数据并发布和实例
componentDidMount() {
this.observer.subscribe("scopetotal", (data) => {
this.setState({ scopeCost: data['subTotal'],
scopecostPerUOM:data['perSqFtTotal']
});
this.calTotalCost();
});
}
describe('CostEstimateCostContainer', () => {
let observer = ReactObserver();
let initProps;
beforeEach(() => {
initProps={
name:'Max'
}
observer.publish("scopetotal", {
'perSqFtTotal':1354.28,
'subTotal':67712647
});
});
test('should render component',()=>{
const {debug}=render(<MyComponent {...initProps}></MyComponent>)
debug();
})
});
订阅方法未在组件中触发。都没有显示任何错误。