javascript - 如何整合 Flow 和 Jest?

标签 javascript frontend flowtype jestjs

我想人们很少会同时使用 Jest 和 Flow,但 Jest 似乎无法识别 Flow 的输入标记。

当我运行jest时,我收到错误消息:

 FAIL  __tests__/components/Ui/CheckboxWithLabel.test.js
  ● Test suite failed to run

    /home/cargobr/Projetos/Estudos/Terminator-React-Starter-Kit/src/app/components/CheckboxWithLabel.js: Unexpected token (6:12)
        4 | export default class CheckboxWithLabel extends React.Component {
        5 |   state: {isChecked: boolean};
      > 6 |   onChange: function;
          |             ^
        7 |   setState: function;
        8 |   props: {labelOn: boolean, labelOff: boolean};
        9 | 

我刚刚安装了 flow-typed 和 flow-typed install jest@20.0.4,问题仍然存在。

部分package.json

{
  "dependencies": {
    "react": "^15.3.2",
    "react-dom": "^15.3.2",
    "react-router-dom": "^4.0.0",
  },
  "devDependencies": {
    "babel-cli": "^6.24.1",
    "babel-core": "^6.24.1",
    "babel-eslint": "^7.1.1",
    "babel-jest": "^20.0.3",
    "babel-loader": "^6.4.1",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-flow": "^6.23.0",
    "babel-preset-react": "^6.24.1",
    "enzyme": "^2.9.1",
    "eslint": "^3.18.0",
    "eslint-plugin-react": "^6.10.0",
    "jest": "^20.0.4",
    "react-addons-test-utils": "^15.6.0",
    "react-test-renderer": "^15.6.1",
    "regenerator-runtime": "^0.10.5",
    "style-loader": "^0.16.1",
    "webpack": "^2.3.3",
    "webpack-dev-server": "^2.4.2"
  },
  "scripts": {
    "start": "webpack-dev-server",
    "test": "jest"
  },
  "jest": {
    "testRegex": "__tests__/components/.*./*.test.js"
  }
}

eslintrc

{
  "extends": ["eslint:recommended", "plugin:react/recommended"],
  "parser": "babel-eslint",
  "plugins": [
    "react"
  ],
  "parserOptions": {
    "ecmaFeatures": {
      "jsx": true
    }
  },
  "env": {
    "jest": true
  }
}

最佳答案

我猜这是因为函数应该是函数? (第一个字母大写)

关于javascript - 如何整合 Flow 和 Jest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45640863/

相关文章:

javascript - 滚动的顶部位置导致 Safari/IE 滞后

javascript - 使用 Javascript/jQuery 和 C# 将 SVG 转换为 PNG 以供下载

javascript - Vue Prop 数据未在子组件中更新

javascript - react 全局声明变量获取流类型错误

javascript - "Cannot import useState because there is no useState export in react"(使用 React Hooks 的流程)

javascript - Node JS : File upload Error [ERR_STREAM_WRITE_AFTER_END]

javascript - React 如何更新另一个组件的状态?

javascript - 如何在输入中的数字之间留出空间以供显示?

javascript - 如何使用 RequireJS 加载模块导入 Flow 的类型信息?

javascript - EJS 布局在 hapi.js 中不起作用