我想在我的反应应用程序上使用mocha chai创建一些单元测试 . 我已阅读教程并看过视频,我已完成以下步骤 .

  • 安装摩卡柴--save-dev

  • npm install --save-dev babel-register

  • npm install --save babel-core babel-preset-latest babel-preset-stage-3

我的package.json脚本:

"scripts": {
    "start": "node scripts/start.js",
    "build": "node scripts/build.js",
    "test": "mocha --compilers js:babel-core/register src/**/*.spec.js"
  },

我的package.json babel:

"babel": {
  "presets": [
    "react-app",
    "es2015",
    "stage-3",
    "latest",
    "env"
  ]
},

没有.babelrc文件

当我执行 $ npm run test 时,我收到错误

Error: Using `babel-preset-react-app` requires that you specify `NODE_ENV` or `BABEL_ENV` environment variables. Valid values are "development", "test", and "production". Instead, received: undefined. (While processing preset: "E:\\react\\games\\node_modules\\babel-preset-react-app\\index.js")
    at Object.<anonymous> (E:\react\games\node_modules\babel-preset-react-app\index.js:51:9)
    at Module._compile (module.js:570:32)
    at Module._extensions..js (module.js:579:10)
    at Object.require.extensions.(anonymous function) [as .js] (E:\react\games\node_modules\babel-register\lib\node.js:152:7)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)

我的单元测试test.spec.js

import {expect } from 'chai';
 import { getGames } from './index'

 describe('games', function(){
 it('gets games list from state', () => {
   const state = 
   {games:{
     mygames: [
      {
        gameId:1,
        gameName: 'name',
        gameUrl: 'someurl',
        gameDscription: 'lorem ipsum',
      },
      {
        gameId:2,
        gameName: 'name',
        gameUrl: 'someurl',
        gameDscription: 'lorem ipsum',
      }
    ]}
  }
  const result = getGames(state)

  expect(result).to.eql(state.games.mygames)
   })
 })