我不能用Jest运行多个测试文件?

我今天刚刚开始与Jest。 我在__tests__目录中有一个简单的测试文件。 这是当前的测试文件:

describe('ChangeCalendarView', function() {
    it('true', function() {
        expect(3).toBe(3);
    })
});

这运行没有问题。 当我添加另一个文件时,使用相同的确切代码,而不是描述:

describe('ChangeTimePeriod', function() {
    it('true', function() {
        expect(3).toBe(3);
    })
});

然后我得到这个错误:

/usr/local/lib/node_modules/jest-cli/node_modules/node-worker-pool/Worker.js:93
    throw new Error('Received unexpected data from child process: ' + data);
          ^
Error: Received unexpected data from child process: {
  "error": "Error: ENOENT, open '/usr/local/lib/node_modules/jest-cli/.haste_cache/cache-react-calendar-component'nn"
}
  at Worker._onStdout (/usr/local/lib/node_modules/jest-cli/node_modules/node-worker-pool/Worker.js:93:11)

这对任何人都有意义吗?


我已经通过使用babel-jest解决了这个问题。 在这里我的package.json

{
  "name": "myapp",
  "version": "0.0.0",
  "dependencies": {
    "classnames": "^2.1.3",
    "dev": "^0.1.3",
    "flux": "^2.0.3",
    "grunt": "^0.4.5",
    "gulp": "^3.9.0",
    "immutable": "^3.7.4",
    "install": "^0.1.8",
    "lodash": "^3.10.0",
    "node-simple-static-server": "^1.1.0",
    "react-bootstrap": "^0.23.7",
    "react-router": "^0.13.3",
    "react-router-bootstrap": "^0.18.0",
    "react-tools": "^0.13.0-beta.2",
    "stackup": "^1.0.1"
  },
  "devDependencies": {
    "babel-jest": "^5.3.0",
    "babelify": "^6.1.2",
    "browser-sync": "latest",
    "browserify-shim": "^3.8.0",
    "del": "~0.1.3",
    "gulp-autoprefixer": "~1.0.1",
    "gulp-bower": "0.0.6",
    "gulp-cache": "~0.2.4",
    "gulp-imagemin": "latest",
    "gulp-jshint": "~1.8.5",
    "gulp-load-plugins": "~0.7.0",
    "gulp-ruby-sass": "~0.7.1",
    "gulp-size": "~1.1.0",
    "gulp-strip-debug": "^1.0.2",
    "gulp-stylus": "~2.0.1",
    "gulp-uglify": "^1.0.2",
    "gulp-useref": "~0.4.4",
    "gulp-util": "~3.0.1",
    "gulp-webserver": "latest",
    "jest-cli": "*",
    "main-bower-files": "~2.6.2",
    "react": "latest",
    "react-tools": "latest",
    "reactify": "latest",
    "strip-debug": "^1.0.1",
    "vinyl-source-stream": "^1.0.0",
    "watchify": "~2.1"
  },
  "engines": {
    "node": ">=0.10.0"
  },
  "scripts": {
    "test": "jest"
  },
  "jest": {
    "scriptPreprocessor": "../node_modules/babel-jest",
    "testFileExtensions": [
      "es6",
      "js"
    ],
    "moduleFileExtensions": [
      "js",
      "json",
      "es6"
    ],
    "rootDir": "./app",
    "collectCoverage": true,
    "unmockedModulePathPatterns": [
      "react",
      "events",
      "lodash"
    ]
  },
  "browserify": {
    "transform": [
      "browserify-shim",
      [
        "reactify",
        {
          "es6": true
        }
      ]
    ]
  },
  "browser": {
    "jquery": "./app/bower_components/jquery/dist/jquery.js"
  },
  "browserify-shim": {
    "jquery": "$"
  }
}

屏幕结果


Jest使用的glob模式来检测测试文件。 默认情况下,它会在测试文件夹内查找.js和.jsx文件,以及任何带有.test或.spec后缀的文件(例如Component.test.js或Component.spec.js)。 它还会找到名为test.js或spec.js的文件。 所以用你的测试文件命名为.test .Like pagination.test.js。

链接地址: http://www.djcxy.com/p/83421.html

上一篇: I cannot run multiple test files with Jest?

下一篇: Change the organization of a Twitter Fabric App