Я пытаюсь выполнить модульное тестирование и интеграционное тестирование для приложения React Native. При запуске yarn test --coverage
некоторые из моих наборов тестов не запускаются из-за библиотеки tcomb-form-native.
Я получаю эту конкретную ошибку:
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import t from "./lib";
SyntaxError: Unexpected identifier
13 | // import { gray } from 'ansi-colors';
14 |
> 15 | import t from 'tcomb-form-native';
| ^
16 |
17 | const Form = t.form.Form;
18 |
at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:403:17)
at Object.<anonymous> (screens/ReservationScreen.js:15:1)
Я обновил файл package.json
после раздела «Тесты» из библиотеки GitHub, https://github.com/gcanti/tcomb-form-native,, но продолжаю получать ту же ошибку.
Меня смущает эта строка из описания тестов ReadMe tcomb-form-native:
"ios.js" <<<<<<<<<<<< this needs to be defined!
Я создал приложение React Native с помощью Expo, поэтому у меня нет файла ios.js. Единственное отличие под "jest":
от примера кода в GitHub заключается в том, что я также определил "preset": "jest-expo",
.
Какие изменения мне нужно внести в мой файл package.json
или мои наборы тестов, чтобы мои наборы тестов могли работать? (Они не должны проходить, просто запустите.)
Редактировать:
Я попытался добавить следующий код в package.json
, основываясь на верхнем ответе от https://github.com/gcanti/tcomb-form-native/issues/443:
"transformIgnorePatterns": [
"node_modules/(?!react-native|tcomb-form-native)"
]`
Я добавил код без оригинальных предложенных изменений из библиотеки GitHub ReadMe и добавил его ДОПОЛНИТЕЛЬНО к предлагаемым изменениям. Я все еще получаю SyntaxError: Unexpected identifier
, когда я запускаю тесты.
Редактировать # 2:
Я изменил изменен import t from 'tcomb-form-native';
на var t = require('tcomb-form-native');
, и я все еще получаю SyntaxError: Unexpected identifier.