我正在尝试在一个新的React项目中设置Jest。

package.json:

"dependencies" : {
  "react": "^0.13.1",
  "jest-cli": "^0.4.5",
  "babel-jest": "^5.2.0"
},
"scripts": {
  "test": "jest"
},
"jest": {
  "scriptPreprocessor": "<rootDir>/static/preprocessor.js",
  "unmockedModulePathPatterns": ["react"],
  "testFileExtensions": [
    "js",
    "jsx"
  ],
  "moduleFileExtensions": [
    "js",
    "json",
    "jsx"
  ],
  "testPathDirs": [
    "<rootDir>/static/app"
  ],
  "testDirectoryName": "test",
  "testPathIgnorePatterns": [
    "/node_modules/",
    "/bower_components/"
  ]
}


Test-test.js:

jest.dontMock('../scripts/components/shared/Test');

describe('Test', () => {
  var Test = require('../scripts/components/shared/Test');
  it('registers test', () => {
    expect("yes").toEqual("yes");
  });
});


Test.jsx:

var React = require('react');


当我在上面运行npm test时,得到以下信息:

My-MacBook-Pro:project user$ npm test

> Project@0.0.1 test /Users/user/Projects/project
> jest

Using Jest CLI v0.4.5
Waiting on 1 test...My-MacBook-Pro:project user$


如果将Test.jsx更改为require('lodash'),则会得到以下信息:

My-MacBook-Pro:project user$ npm test

> Project@0.0.1 test /Users/user/Projects/project
> jest

Using Jest CLI v0.4.5
 PASS  static/app/test/Test-test.js (0.517s)
1 test passed (1 total)
Run time: 0.731s
My-MacBook-Pro:project user$


似乎添加“ react”模块会导致Jest崩溃(没有任何登录终端)。我怀疑我的配置有问题,但是我似乎找不到。

另外,有没有办法获取更多详细的日志记录?现在它崩溃了,没有任何输出...我敢打赌,如果我有某种输出,我可以做得更好。

最佳答案

我有一个类似的问题。我认为问题在于Jest不支持高于0.10.x(source)的节点版本。我建议使用nvm在受支持的版本中运行测试。

*编辑时态

09-25 16:52
查看更多