Jest проверьте, существует ли атрибут elements

Я хочу проверить с помощью шутки, содержит ли следующий элемент пути svg атрибут d
<path id = "TrendLine" fill = "none" stroke = "black" d = "M170,28.76363636363638C170,28.76363636363638,221.46221083573664,189.150059910"></path> Как использовать шутку для поиска определенного атрибута в элементе?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
0
14 008
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать неглубокий метод фермента для рендеринга вашего компонента, а затем для проверки свойств элемента пути:

// at the top of your test file file:
import { shallow } from 'enzyme';

...

it('should render path element with the expected d attribute', () => {
  // shallowly render your component:
  const wrapper = shallow(<Component />);

  // find the path element using a css selector
  const trendline = wrapper.find('path#TrendLine');

  // make assertion
  expect(trendline.props()).toHaveProperty('d', 'M170,28.76363636363638C170,28.76363636363638,221.46221083573664,189.150059910');
});

Значения d могут измениться, как мне проверить, существует ли d, без учета значений в d

Athif Shaffy 06.05.2018 19:32

Вы можете сделать это, просто вызвав toHaveProperty с первым аргументом: .toHaveProperty (‘d’)

Billy Reilly 06.05.2018 19:36

Пробовал раньше и получил эту ошибку, Error: Invalid Chai property: toHaveProperty, есть ли другой способ проверить, существует ли d?

Athif Shaffy 06.05.2018 19:45

Странно, какую версию шутки вы используете?

Billy Reilly 06.05.2018 19:50

но да, функция props () возвращает объект свойств этого элемента, чтобы вы могли проверить, существует ли он следующим образом: expect(trendline.props().hasOwnProperty('d')).toBe(true);

Billy Reilly 06.05.2018 19:52
expect(trendline.props().hasOwnProperty('d')).toBe(true); сделал свое дело, спасибо!
Athif Shaffy 06.05.2018 19:55

Другие вопросы по теме