vraiment se battre ici.
Les tests My Circle CI ont échoué avec un
FAIL ./App.test.js
● Test suite failed to run
SyntaxError: Unexpected token )
J'essaye de lancer Jest localement sur ma machine (une CRNA) mais j'obtiens l'erreur suivante:
TypeError: environment.setup is not a function
Donc, les deux semblent être des problèmes de version de nœud/ES6/babel, non?
Je me suis battu à travers quelques erreurs avant (Path was expecting string
etc), que j'ai contourné en installant jest-cli et en changeant les versions de nœud, etc.
je suis maintenant sur: noeud v8.9.1 npm 5.5.1
Mais maintenant je suis totalement perplexe.
Alors:
TypeError: environment.setup is not a function
est spécifique au paquet jest-cli.
j'ai essayé:
i) en ajoutant ce qui suit à la configuration de la plaisanterie dans pkg json:
"jest": {
"preset": "jest-expo",
"testMatch": [
"*.test.js",
"**/?(*.)(spec|test).js?(x)"
],
"transformIgnorePatterns": [
"node_modules/(?!(react-native|jest-cli)/)"
]
}
(Je pensais que cela pourrait 'babel' le module, mais hélas aucun changement dans le message d'erreur)
ii) Changer de version de babel-core, installer babel-node-modules, changer de version de React Native, jest, etc., etc. Pas de joie.
Aidez-moi?
Y at-il quelque chose qui me manque en ce qui concerne l'obtention d'un projet Create React Native App pour exécuter des tests de plaisanterie sur le noeud v5-v8?
Ça me stoppe et ça a du mal à mettre en place mon installation Circle CI.
Envoyez de l’aide ou une sorte de bière IPA pour calmer ma frustration. ????
J'ai fini par faire fonctionner ça en:
i) installer babel-jest
ii) babel-preset-react-native
(au lieu du module stage-0)
iii) changer le script de test en test: jest
seulement
iv) enlever la variable env de .babelrc (donc c'est juste "presets": ["react-native"]
maintenant)
v) changer mon config.yml
en un circle.yml
(ceci éliminait une erreur de version de noeud)
vi) calcul des noeuds_modules, complet npm install
(/ yarn
)
vii) a déplacé mon App.test.js
de la racine vers son propre dossier/emplacement __tests__/App.test.js
.
Je pense que babel-jest était le nœud principal, mais même dans ce cas, j’obtenais des erreurs propTypes non trouvées et je devais vérifier mes dépendances entre pairs, dont certaines nécessitaient des mises à jour antérieures à la version bêta.
Mon paquet json:
{
"name": "MyAppName",
"jest": {
"preset": "react-native"
},
"version": "0.1.0",
"private": true,
"devDependencies": {
"babel-eslint": "^8.0.1",
"babel-jest": "21.2.0",
"babel-preset-react-native": "4.0.0",
"babel-plugin-module-resolver": "^3.0.0",
"enzyme": "^3.2.0",
"enzyme-adapter-react-16": "^1.1.0",
"eslint": "^4.9.0",
"eslint-plugin-import": "^2.8.0",
"eslint-plugin-promise": "^3.6.0",
"eslint-plugin-react": "^7.4.0",
"flow-bin": "0.53.1",
"jest": "^21.2.1",
"react-dom": "^16.2.0",
"react-test-renderer": "16.2.0",
"sinon": "^4.1.3"
},
"scripts": {
"start": "react-native start",
"Android": "react-native run-Android",
"ios": "react-native run-ios",
"test": "jest"
},
"dependencies": {
"jest-cli": "^21.2.1",
"react": "16.2.0",
"react-native": "^0.51.0"
}
}