Я прохожу приложение реагирования и внедряю тестирование, и я не могу понять, как проверить радиус SVG-круга.Радиус передается через реквизит.Мой компонент React находится ниже;
import * as React from 'react';
export interface Props {
radius: number
}
const UserPicture = (props: Props) => {
var diameter = props.radius * 2;
return (
<svg className="userPicture" height={diameter} width={diameter}>
<circle cx={props.radius} cy={props.radius} r={props.radius} stroke="black" fill="white" />
</svg>
)
}
export default UserPicture;
... и тест, который я не могу получить на данный момент, выглядит следующим образом.
test('User Picture renders svg > circle element with correct radius passed by props second test', () => {
const radius = 15;
const userPicture = Enzyme.shallow(<UserPicture radius={radius} />);
expect(userPicture.find('svg > circle').at(0).prop("r")).toBe(radius);
});
Я знаю, что этот тест находитобведите кружок, так как у меня работает функция «должен отображаться без сбоев», но в приведенном выше тесте возвращается значение undefined.Кажется, не существует способа вернуть высоту, ширину или что-либо еще с использованием фермента (разве что через .prop
), я что-то упустил?Как я могу проверить радиус SVG круга?