wirklich hier zu kämpfen.
Meine Circle CI-Tests sind mit einem fehlgeschlagen
FAIL ./App.test.js
● Test suite failed to run
SyntaxError: Unexpected token )
Ich versuche, Jest lokal auf meinem Computer auszuführen (einen CRNA-Computer), erhalte jedoch die folgende Fehlermeldung:
TypeError: environment.setup is not a function
Beide scheinen also Knotenversions-/ES6-/babel-Probleme zu sein, oder?
Ich habe schon einige Fehler durchgemacht (Path was expecting string
etc), die ich durch die Installation von jest-cli und das Ändern von Knotenversionen usw. bekam.
ich bin jetzt auf: node v8.9.1npm 5.5.1
Aber jetzt bin ich total verkümmert.
So:
TypeError: environment.setup is not a function
ist spezifisch für das Paket jest-cli.
ich habe es versucht:
i) Hinzufügen zur Jest-Konfiguration in pkg json:
"jest": {
"preset": "jest-expo",
"testMatch": [
"*.test.js",
"**/?(*.)(spec|test).js?(x)"
],
"transformIgnorePatterns": [
"node_modules/(?!(react-native|jest-cli)/)"
]
}
(dachte, dies könnte das Modul "babel", aber leider keine Änderung in der Fehlermeldung msg)
ii) Versionen von Babel-Core ändern, Babel-Node-Module installieren, Versionen von React Native, Jest usw. ändern usw. Keine Freude.
Hilfe?
Gibt es etwas, was mir fehlt, wenn Sie ein Projekt zum Erstellen von Reaktiver Native-App erstellen, um Jest-Tests auf dem Knoten v5-v8 auszuführen?
Richtig abgestumpft und es hält sich auf, mein Circle CI-Setup zu erhalten.
Senden Sie Hilfe oder eine Art IPA-Ale, um meine Frustration zu beruhigen. ????
Am Ende bekam ich diese Arbeit durch:
i) babel-jest
installieren
ii) babel-preset-react-native
(anstelle des Stage-0-Moduls)
iii) Ändern des Testskripts in test: jest
iv) Entfernen der env-Variable aus .babelrc (also jetzt nur "presets": ["react-native"]
)
v) Änderung meines config.yml
in einen circle.yml
(dadurch wurde ein Fehler der Knotenversion behoben)
vi) Nuking Knotenmodule, voll npm install
(/ yarn
)
vii) hat meinen App.test.js
aus dem Stammverzeichnis in einen eigenen __tests__/App.test.js
-OrdnerOrdner verschoben.
Ich denke, dass Babel-Jest der Hauptfokus war, aber selbst dann bekam ich PropTypes-Fehler nicht gefunden und musste meine Peer-Abhängigkeiten überprüfen, von denen einige über die Beta-Versionen der verwendeten Dinge hinaus aktualisiert werden mussten.
/ - Mein Paket 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"
}
}