#javascript #reactjs #testing #jestjs #enzyme
#javascript #reactjs #тестирование #jestjs #фермент
Вопрос:
код моей функции возврата, в котором должен быть найден элемент li:
return (
<li
className={className}
key={optionName.fruitName}
id = 'clickItem'
onClick={onClick}
style={{ display: "flex" }}
>
<img className="img" src={optionName.img} alt="" />
<h4 className = 'name'>{optionName.fruitName}</h4>
</li>
);
мой тестовый пример: то, что я пытаюсь сделать, это запустить функцию onclick, имитируя щелчок, но не находя ни одного узла.
describe('onClick function testing', () => {
let options=[
{
fruitName: 'Papaya',
img:'https://c.ndtvimg.com/2019-06/qlo3s8ko_papaya-seeds_625x300_06_June_19.jpg'
},
{
fruitName: 'Apple',
img: 'https://www.dukachapchap.co.ke/wp-content/uploads/2019/01/APPLE.jpg'
},
{
fruitName: 'Banana',
img: 'https://images.immediate.co.uk/production/volatile/sites/30/2017/01/Bananas-218094b-
scaled.jpg?quality=90amp;resize=960,872'
}
]
it('should be called with click', () => {
const logSpy = jest.spyOn(console, 'log');
const wrapper = shallow(<AutoComplete options = {options}></AutoComplete>)
expect(wrapper.find('.option-active')).toBeDefined();
const event = { currentTarget: { innerText: 'Papaya' }};
const li = wrapper.find('li').simulate('click',event);
expect(li).toBeTruthy();
});
Комментарии:
1. Где находится
.option-active
в вашем компоненте? Как вы узнали, что элемент с этим именем класса определен?2. событие, хотя, если я попытаюсь найти его по идентификатору или элементу, подобному li, я не могу его найти, и я действительно обнаружил, что мой компонент не отображает этот компонент, потому что он отображает / запускает только на экране