我该如何修复由于React Native的tcomb-form-native库而导致测试套件无法运行的问题?

时间:2019-04-04 18:56:58

标签: reactjs react-native jestjs expo tcomb-form-native

我正在尝试为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)

我从库的GitHub https://github.com/gcanti/tcomb-form-native的“ Tests”部分更新了package.json文件,但仍然遇到相同的错误。

我对tcomb-form-native自述测试描述的这一行感到困惑:

  "ios.js"    <<<<<<<<<<<< this needs to be defined!

我使用Expo创建了React Native应用,所以我没有ios.js文件。 "jest":与GitHub中示例代码的唯一区别在于,我还定义了"preset": "jest-expo",

我需要对package.json文件或测试套件进行哪些更改才能运行测试套件?(它们不必通过,只需运行即可)


编辑:

我尝试根据https://github.com/gcanti/tcomb-form-native/issues/443的最高答案将以下代码添加到package.json

"transformIgnorePatterns": [
  "node_modules/(?!react-native|tcomb-form-native)"
]`

我添加了没有该库的GitHub自述文件的原始建议编辑的代码,并将其添加到建议的编辑中。运行测试时,我仍然收到SyntaxError: Unexpected identifier


编辑#2:

我将import t from 'tcomb-form-native';更改为var t = require('tcomb-form-native');,但我仍收到SyntaxError: Unexpected identifier.

0 个答案:

没有答案