Я работаю с response-native 0.59 и хочу написать свои первые тесты для моего приложения. Итак, для чтения документов реагирования мне просто нужно выполнить следующую команду yart test
, которая выполняет следующий файл:
import 'react-native';
import React from 'react';
import App from '../App';
// Note: test renderer must be required after react-native.
import renderer from 'react-test-renderer';
it('renders correctly', () => {
renderer.create(<App />);
});
Это файл по умолчанию для тестирования, когда вы запускаете ваше приложение с реактивной. Но когда я запускаю команду yarn test
, проверка не проходит. Следованием является следующее:
FAIL __tests__/App-test.js
● Test suite failed to run
TypeError: (0 , _reactNavigation.createBottomTabNavigator) is not a function
43 |
> 44 | const MainStack = createBottomTabNavigator({
| ^
45 | Home: { screen: Home },
46 | Pets: { screen: Pets },
47 | Notifications: { screen: UserNotifications },
at Object.<anonymous> (src/app-navigator.js:44:63)
at Object.<anonymous> (src/Reducers/navigation.js:2:44)
Это часть моего app-navigator.js
файла:
const PetStack = createStackNavigator({
UpdatePet: { screen: UpdatePet },
}, {
mode: 'card',
defaultNavigationOptions: {
headerStyle: { backgroundColor: 'transparent' }
}
});
const MainStack = createBottomTabNavigator({
Home: { screen: Home },
Pets: { screen: Pets },
Notifications: { screen: UserNotifications },
UpdateUser: { screen: UpdateUser },
});
Это ошибочные строки. Это так странно, потому что когда я console.log
createStackNavigator
регистрирует ложную функцию, но когда я делаю это с createBottomTabNavigator
, она регистрирует undefined
.
Это моя шутливая конфигурация:
"jest": {
"preset": "react-native",
"verbose": true,
"transform": {
"^.+\\.js$": "<rootDir>/node_modules/react-native/jest/preprocessor.js"
},
"globals": {
"NODE_ENV": "test"
},
"moduleFileExtensions": [
"js"
],
"moduleDirectories": [
"src",
"node_modules"
],
"transformIgnorePatterns": [
"/node_modules/(?!native-base|react-native-localize|react-navigation|react-navigation-redux-helpers)/"
],
"setupFiles": [
"./jest-setup.js"
]
}
Я прочитал некоторые связанные проблемы и только что нашел this . Они рекомендуют установить ключ inlineRequires
на false
в node_modules/react-native/jest/preprocessor.js
, но он не работает для меня