Тестирование выпадающего с Jest и React - PullRequest
1 голос
/ 05 апреля 2020

В настоящее время я разрабатываю приложение с использованием React, и у меня возникают проблемы при написании тестов. У меня есть этот выпадающий список:

<DropdownButton variant="light" key={friend+"dropdown"} data-testid={friend+"dropdown"} title=""> 
   <Dropdown.Item target="_blank" href={friend} key={friend+"dropdownI1"} data-testid={friend+"dropdownI1"}>{t('manageFriends.viewProfile')}</Dropdown.Item>
   <Dropdown.Item onClick={(event) => deleteFriend(event,friend, webId)} key={friend+"dropdownI2"} data-testid={friend+"dropdownI2"}>{t('manageFriends.delete')}</Dropdown.Item>
   <Dropdown.Item onClick={(event) => viewRoutes(event,friend)} key={friend+"dropdownI3"} data-testid={friend+"dropdownI3"}>{t('manageFriends.viewRoutes')}</Dropdown.Item>
</DropdownButton>

, и я пытался проверить, что при нажатии на кнопку DropdownButton появляются элементы:

test('Dropdown works', () =>{
  expect(getByTestId(friend+'dropdown')).toBeTruthy();
  fireEvent.click(getByTestId(friend+'dropdown'));
  expect(getByTestId(friend +'dropdownI1')).toBeTruthy();   
  expect(getByTestId(friend +'dropdownI2')).toBeTruthy();   
  expect(getByTestId(friend +'dropdownI3')).toBeTruthy();   
});

Тест всегда находит кнопку DropdownButton, но не элементы.

Я использую эти две библиотеки: реагирующая библиотека-тестирования и @ testing-library / jest-dom /. Я также использую выпадающий список bootstrap:

import DropdownButton from 'react-bootstrap/DropdownButton';

Заранее спасибо.

...