screen
предоставляется @testing-library/dom
, что является основой для @testing-library/react
. При использовании методов screen
они будут выполнять запросы в элементе html <body>
, как описано в документах :
, так как запрос всего document.body очень часто DOM Testing Library также экспортирует экранный объект, у которого все запросы предварительно привязаны к document.body
render()
только в @testing-library/react
. Он возвращает объект, похожий на screen
, и по умолчанию он также привязывает запросы к <body>
. По умолчанию разница невелика, но вы можете настроить его поведение, передав параметры .
Например, вы можете указать элемент , отличный от <body>
для запроса и может даже предоставить пользовательских методов запроса .
Чтобы ответить на ваш вопрос, какой из них лучший, я бы сказал, что использование render()
лучше, потому что options
make это более гибко, но процитировать документы :
Вам не нужно часто указывать опции
Тем не менее, я бы предпочел, чтобы используйте методы, предоставленные render()
, потому что, если вы когда-нибудь решите добавить опции, вам не нужно помнить, чтобы изменить все ваши запросы.