Как мы проверяем изменения в переменной state
на этапе, что означает, что я хочу проверить не конечный результат, а также результат между ними.
Ниже приведен код, который я хочу проверить.
onLogin = () => {
this.setState({ isLoggingIn: true }, () => {
try {
} catch (err) {
// Alert.alert(getString('ERROR'), err.message);
} finally {
this.setState({ isLoggingIn: false });
}
});
}
Ниже приведен мой тестовый код.
it('should call onLogin callback', () => {
const spy = jest.spyOn(wrapper.instance(), 'onLogin');
const loginBtn = wrapper.find('#login');
loginBtn.props().onPress();
expect(spy).toHaveBeenCalled();
expect(wrapper.instance().state.isLoggingIn).toEqual(false);
// Attempt => Below I've tried
// wrapper.update();
// expect(wrapper.instance().state.isLoggingIn).toEqual(true);
// wrapper.update();
// expect(wrapper.instance().state.isLoggingIn).toEqual(false);
wrapper.instance().state.isLoggingIn
всегда ложно.Как мне отслеживать эти изменения на false
, а затем true
?