Не удается найти модуль @ jest / reporters при выполнении теста на детоксикацию - PullRequest
1 голос
/ 17 июня 2019

Возникли проблемы с настройкой Detox в моем проекте React Native.Моя конфигурация проекта выглядит следующим образом:

Версия MacOS: 10.14.14 Xcode 10.2.1 Инструменты командной строки: Версия 10.2.1

package.json:

{
  "name": "AppName",
  "version": "0.1.0",
  "private": true,
  "devDependencies": {
    "babel-preset-react-native-stage-0": "^1.0.1",
    "detox": "^12.11.0",
    "jest": "^23.6.0",
    "jest-react-native": "^18.0.0",
    "mocha": "^6.1.4",
    "react-test-renderer": "16.3.1"
  },
  "scripts": {
    "start": "react-native start",
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "devtools": "react-devtools --port 8091",
    "test": "jest"
  },
  "jest": {
    "preset": "react-native"
  },
  "dependencies": {
    "jail-monkey": "^2.1.1",
    "react": "16.3.1",
    "react-devtools": "^3.2.3",
    "react-native": "~0.55.2",
    "react-native-camera": "1.1.4",
    "react-native-device-info": "^0.22.5",
    "react-native-fs": "^2.13.3",
    "react-native-image-resizer": "^1.0.0",
    "react-native-mail": "^3.0.7",
    "react-native-maps": "^0.21.0",
    "react-native-permissions": "^1.1.1",
    "react-native-signature-capture": "^0.4.9",
    "react-native-sortable-list": "0.0.22",
    "react-native-sound": "^0.10.12",
    "react-native-splash-screen": "^3.1.1",
    "react-native-sqlcipher-storage": "github:axsy-dev/react-native-sqlcipher-storage",
    "react-native-swipe-gestures": "^1.0.2",
    "react-native-swipeout": "^2.3.6",
    "react-navigation": "^2.2.4",
    "react-redux": "^5.0.7",
    "redux": "^4.0.0",
    "redux-thunk": "^2.2.0",
    "rn-fetch-blob": "^0.10.15"
  },
  "rnpm": {
    "assets": [
      "./src/assets/fonts"
    ]
  },
  "detox": {
    "configurations": {
      "ios.sim.debug": {
        "binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/ProntoPOD.app",
        "build": "xcodebuild -workspace ios/ProntoPOD.xcworkspace -scheme ProntoPOD -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build",
        "type": "ios.simulator",
        "name": "iPhone XR"
      }
    },
    "test-runner": "jest"
  }
}

Первоначально я получал следующие ошибки, возникающие после установки Jest и Detox в соответствии с инструкциями в Руководстве по установке:

Ошибка создания информации о системе: несколько команд создают '': 1) Цель 'двойное преобразование'(проект 'React') имеет команду копирования из /Users/cbrobbel/ProntoProjects/prontopod/ProntoPOD/node_modules/react-native/third-party/double-conversion-1.1.5/src/bignum-dtoa.h 'в'/Users/cbrobbel/ProntoProjects/prontopod/ProntoPOD/ios/build/Build/Products/Debug-iphonesimulator/include/double-conversion/bignum-dtoa.h '2) Цель' двойное преобразование-tvOS '(проект «Реакция»)) имеет команду копирования из /Users/cbrobbel/ProntoProjects/prontopod/ProntoPOD/node_modules/react-native/third-party/double-conversion-1.1.5/src/bignum-dtoa.h 'в' / Users / cbrobbel /ProntoProjects / prontopod / ProntoPOD / ИОС / Build / Build / Products / Debug-iphonesimulator / include / двойное преобразование / bignum-dtoa.h '

Ошибка информации о системе сборки: несколько команд создают' ': 1) Цель' двойное преобразование '(проект')Реагировать '): Libtool /Users/cbrobbel/ProntoProjects/prontopod/ProntoPOD/ios/build/Build/Products/Debug-iphonesimulator/libdouble-conversion.a normal x86_64 2) Цель "двойное преобразование-tvOS" (проект "Реакция"): Libtool /Users/cbrobbel/ProntoProjects/prontopod/ProntoPOD/ios/build/Build/Products/Debug-iphonesimulator/libdouble-conversion.a нормальный x86_64

** СОСТАВИЛ СБОЙ **

detox [64617] ОШИБКА: [cli.js] Ошибка: команда не выполнена: xcodebuild -workspace ios / ProntoPOD.xcworkspace -scheme ProntoPOD -configuration Debug -sdk iphonesimulator -derivedDataPath ios / build

Это былорешена путем изменения системы сборки в XCode на устаревшую сборку в настройках рабочего пространства.Теперь появляется следующая ошибка, и я не уверен, как ее решить:

Ошибка: ошибка при добавлении репортера по пути "/ Users / cbrobbel / ProntoProjects / prontopod / ProntoPOD / ProntoPOD / node_modules / detox/runners/jest/streamlineReporter.js".Не могу найти модуль '@ jest / reporters' на сайте reporters.forEach (/Users/cbrobbel/ProntoProjects/prontopod/ProntoPOD/node_modules/jest/node_modules/jest-cli/build/Testschedu.pl): 510: 15) в Array.forEach () в TestScheduler._setupReporters (/Users/cbrobbel/ProntoProjects/prontopod/ProntoPOD/node_modules/jest/node_modules/jest-cli/build/TestScheduler.js:466:12) в новой версии TestScheduler (/ Users / cbrobbel / ProntoProjecttoPjest / node_modules / jest-cli / build / TestScheduler.js: 193: 10) в / Users / cbrobbel / ProntoProjects / prontopod / ProntoPOD / node_modules / jest / node_modules /jest-cli / build / runJest.js: 452: 27 в Generator.next () на шаге (/Users/cbrobbel/ProntoProjects/prontopod/ProntoPOD/node_modules/jest/node_modules/jest-cli/build/runJest.js:107: 30) в /Users/cbrobbel/ProntoProjects/prontopod/ProntoPOD/node_modules/jest/node_modules/jest-cli/build/runJest.js:118:15 в processTicksAndRejected (внутренний / process / task_queues.js: 86: 5) детокс[64758] ОШИБКА: [cli.js] Ошибка: команда не выполнена: node_modules / .bin / jest --config = e2e / config.json --maxWorkers = 1 '--testNamePattern = ^ ((?!: Android :).) * $ '"e2e"

Любая помощь будет оценена.Спасибо!

1 Ответ

1 голос
/ 17 июня 2019

Если это связано с зависимостью от однорангового узла, вы можете попробовать npm install @jest/reporters вручную, поскольку зависимости от однорангового узла не устанавливаются автоматически в npm 3 и выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...