学习单元测试,我正在尝试使用Jest来测试React组件。但是我在测试调用另一个方法的组件的方法时遇到了一个错误,该方法完全驻留在另一个项目中,然后父方法改变了它的组件的状态,所以另一个方法上的所有内容都被调用了通常是未定义的,因此导致此测试错误。任何人都可以指导我如何处理这个问题?假设正在测试的方法是:
methodToBeTested() {
methodResidingIntoAnotherProject();
this.setState({someState: true}); // someState is initially false
}
测试:
describe("testing the component's behaviour"), () => {
it("testing the methodToBeTested", () => {
const {wrapper} = setup();
wrapper.setState({someState: false});
wrapper.instance().methodToBeTested();
expect(wrapper.state().someState).toEqual(true);
});
});
wrapper
和整个setup
有效,因为我已经尝试过其他结构测试。抛出的错误是:
" TypeError:无法读取属性' someVariable'未定义"。 ' someVariable'是嵌套方法。