Тест с использованием Link-router-router-native связывается с "TypeError: Невозможно прочитать свойство" default "из undefined" - PullRequest
1 голос
/ 21 марта 2019

Для приложения собственного происхождения, использующего реагирующий маршрутизатор, jest и реагирующий тест-рендеринг, компонент <Link> не подходит для тестирования.В документации реагирующего маршрутизатора не упоминается о необходимости делать что-то особенное (насмешливое?) Для реактивного, и мои тесты взрываются, только когда компонент реагирующего маршрутизатора <Link> включен в отображаемое дерево,Другие компоненты (например, <Text>, <Router>) не имеют этой проблемы.

Этот базовый реактивный проект воспроизводит тест взрыва.В противном случае приложение создается и ведет себя как положено в телефоне.

Есть ли у меня проблемы с конфигурацией?Это недокументировано, или я просто упустил это из виду?Или я должен сдаться и перейти на использование фермента?Это даже поможет?

Вот выдающийся результат теста:

  TypeError: Cannot read property 'default' of undefined
      at new Link (minimal-bug-repro/node_modules/react-router-native/Link.js:5:379)
      at constructClassInstance (minimal-bug-repro/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:3438:22)                                                                                                                                
      at updateClassComponent (minimal-bug-repro/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:6764:9)                                                                                                                                   
      at beginWork (minimal-bug-repro/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:7721:20)
      at performUnitOfWork (minimal-bug-repro/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:11392:16)                                                                                                                                    
      at workLoop (minimal-bug-repro/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:11424:28)
      at renderRoot (minimal-bug-repro/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:11507:11)                                                                                                                                           
      at performWorkOnRoot (minimal-bug-repro/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:12395:11)                                                                                                                                    
      at performWork (minimal-bug-repro/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:12307:11)                                                                                                                                          
      at performSyncWork (minimal-bug-repro/node_modules/react-test-renderer/cjs/react-test-renderer.development.js:12281:7) { componentStack:                                                                                                                     

1 Ответ

0 голосов
/ 28 марта 2019

Обновите jest до> = 24.0.0, удалите раздел transform: в jest.config.js и переключитесь на обычный preset: 'react-native'.

...