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





Вы можете использовать неглубокий метод фермента для рендеринга вашего компонента, а затем для проверки свойств элемента пути:
// 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');
});
Вы можете сделать это, просто вызвав toHaveProperty с первым аргументом: .toHaveProperty (‘d’)
Пробовал раньше и получил эту ошибку, Error: Invalid Chai property: toHaveProperty, есть ли другой способ проверить, существует ли d?
Странно, какую версию шутки вы используете?
но да, функция props () возвращает объект свойств этого элемента, чтобы вы могли проверить, существует ли он следующим образом: expect(trendline.props().hasOwnProperty('d')).toBe(true);
expect(trendline.props().hasOwnProperty('d')).toBe(true); сделал свое дело, спасибо!
Значения
dмогут измениться, как мне проверить, существует лиd, без учета значений вd