wake-up-neo.com

Warum läuft der Scherz nicht? "TypeError: environment.setup ist keine Funktion"

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. ????

7
NewbieAid

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"
  }
}
1
NewbieAid