У меня есть childComponent
с текстом.
Я написал test
, который проверяет этот текст.Этот тест проходил до тех пор, пока я не сделал два заметных изменения. Мне нужно сохранить эти изменения и заставить тест пройти.
- Рефакторинг компонента для использования
forwardRef
- ChildComponent, который я пытаюсь проверить для текста, определяется как свойство parentComponent, например,
parentComponent.childComponent = childComponent
Тест работает нормально, когда parentComponent не использует forwardRef
Я вижу текст в childComponent
, когда я печатаю html () родительского элемента в консоли.
HTML:
<div class="parentComponent">
<div class="childComponent">
childText
</div>
</div>
parentComponent:
class SelectRef extends PureComponent {
/// component code here
}
// Bottom of parentComponent
const Select = forwardRef((props, ref) => <SelectRef {...props} innerRef={ref} />);
Select.displayName = "Select";
Select.Option = Option;
export default Select;
Я пробовал:
expect(component.dive().text()).to.contain("text");
expect(component.shallow().text()).to.contain("text");
expect(component.prop('children')).to.contain("text");
Как еще можно получить текст childComponent в компоненте с помощью Enyzme / React?