Я монтирование компонент с другим компонентом внутри него, как так:Фермент - как проверить начальное состояние внутреннего компонента?
const wrapper = mount(<IntlProvider><SignUpForm /></IntlProvider>);
Компонент <SignUpForm />
должен иметь начальное состояние {errors: {}}
. Я использую следующее утверждение:
expect(wrapper.find(SignUpForm).state('errors')).to.equal({});
, но я получаю следующее сообщение об ошибке при выполнении теста:
Error: ReactWrapper::state() can only be called on the root
Итак, как же я Acces состояния <SignUpForm />
компонента?
В примере выше, компонент опирается на реакцию, которая обычно Intl оборачивает корневой компонент реагировать маршрутизатор как так '' '. ..'''. SignUpForm ожидает реквизит из этого пакета реагирования, поэтому для того, чтобы SignUpForm был истинным представлением на компоненте, используемом в приложении, я чувствую необходимость издеваться над этими реквизитами. –
JoeTidee
С сокращением у меня есть точно такая же проблема, поэтому я тестирую {MyComp} с подготовленными реквизитами и передается этому компоненту вручную. Я знаю, что есть место для опечаток и т. Д., Но в нем нет никаких других компонентов, кроме проверенных. – kzg