Какое свойство html использовать для выбора узлов при тестировании компонентов React с ферментом

Я модульно тестирую реагирующие компоненты с помощью Enzyme и пытаюсь выяснить, какое свойство html использовать для оформления узлов с достаточной информацией, чтобы я мог выбрать их в своих тестах. Я не решаюсь использовать className по нескольким причинам. Во-первых, если я устанавливаю className, это означает, что для этого узла существует определенный стиль, и во многих случаях в моих тестах мне просто нужен способ выбрать узел и кое-что сказать о нем. Во-вторых, я использую CSS-модули, поэтому установка имен классов global только для поддержки модульных тестов кажется неправильной. Есть ли хорошая альтернатива свойству class, которое люди используют для добавления произвольной информации в узлы?


person matt.kauffman23    schedule 20.04.2016    source источник


Ответы (1)


Вы тестируете их с помощью рендеринга DOM или поверхностного рендеринга? При поверхностном рендеринге вы можете установить произвольную опору и утверждать об этом. Если вы хотите добавить произвольные свойства к узлам DOM, вы можете использовать свойства data-, если нет лучшего способа выбрать узлы, на которых вам нужно утверждать.

person JMM    schedule 20.04.2016
comment
Я поверхностный рендеринг, поэтому произвольная опора - честная игра. Думаю, мне было интересно, есть ли приличное семантическое соглашение для выбора реквизита. <Link testingHook="foo" /> чувствует себя отвратительно. Может быть, что-то вроде цели было бы хорошо, но мне любопытно, что делают другие люди. - person matt.kauffman23; 21.04.2016
comment
Возможно, кто-то еще может сделать более общее предложение, но я не знаю, что еще предложить, не зная больше о том, какие данные доступны в вашем сценарии тестирования. - person JMM; 21.04.2016