Имитация нажатия на стилизованные тесты компонентов - PullRequest
0 голосов
/ 10 июня 2019

У меня есть стилизованная кнопка:

const MyButton = styled.button`...`

И я отрисовываю ее с onClick prop:

<MyButton onClick={props.onClick}>A Button</MyButton>

В моих тестовых файлах для кнопки, которые я использую Enzyme дляпроверить onClick (стилизованная кнопка импортируется как «кнопка»):

let counter = 0;
const component = shallow(
     <Button onClick={() => counter++}>
          A Button
     </Button>
);
component.find(Button).simulate('click');

В консоли я получаю: Method “simulate” is meant to be run on 1 node. 0 found instead.

При отладке с использованием component.debug() я вижуЭлемент <styled.button>...</styled.button> Я попытался изменить find() для получения styled.button и даже добавить имя класса, которое я вижу при отладке, но кажется, что ничто не получает элемент.

Как найти элемент исимулировать события на нем?Спасибо

1 Ответ

0 голосов
/ 10 июня 2019

Если вы тестируете MyButton, вы должны импортировать его и использовать:

import MyButton from './some-button';
const component = shallow(<MyButton />);
component.find(MyButton).simulate('click');

Однако вы используете, который не импортируете, или используете в реальном коде?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...