Javascript React Jest示例不';行不通

Javascript React Jest示例不';行不通,javascript,node.js,testing,reactjs,jestjs,Javascript,Node.js,Testing,Reactjs,Jestjs,尝试运行Jest测试React代码的示例(从),我得到以下错误: > @ test /home/aizquier/jest/examples/react > jest Using Jest CLI v0.7.1 FAIL __tests__/CheckboxWithLabel-test.js ● Runtime Error SyntaxError: /home/aizquier/jest/examples/react/__tests__/Checkbo

尝试运行Jest测试React代码的示例(从),我得到以下错误:

  > @ test /home/aizquier/jest/examples/react
  > jest

  Using Jest CLI v0.7.1
   FAIL  __tests__/CheckboxWithLabel-test.js 
  ● Runtime Error
  SyntaxError: /home/aizquier/jest/examples/react/__tests__/CheckboxWithLabel-test.js: Unexpected token (15:6)
  npm ERR! Test failed.  See above for more details.
测试在文件CheckboxWithLabel-test.js的第15行失败:

jest.dontMock('../CheckboxWithLabel');

import React from 'react';
import ReactDOM from 'react-dom';
import TestUtils from 'react-addons-test-utils';

const CheckboxWithLabel = require('../CheckboxWithLabel');

describe('CheckboxWithLabel', function() {

  it('changes the text after click', function() {

    // Render a checkbox with label in the document
    var checkbox = TestUtils.renderIntoDocument(
      <CheckboxWithLabel labelOn="On" labelOff="Off" />
    );

    var checkboxNode = ReactDOM.findDOMNode(checkbox);

    // Verify that it's Off by default
    expect(checkboxNode.textContent).toEqual('Off');

    // Simulate a click and verify that it is now On
    TestUtils.Simulate.change(TestUtils.findRenderedDOMComponentWithTag(checkbox, 'input'));
    expect(checkboxNode.textContent).toEqual('On');
  });

});
我的节点是v4.2.2,npm是3.3.12


有什么想法吗?

我遇到了同样的问题。看起来这是最近发布的Babel 6引起的问题。这是,希望一个修复被添加很快


同时,您可以在
package.json
中返回到早期版本的
babeljest
。例如,如果您使用的是Babel 6,那么请尝试使用
^5.3.0

,因为没有默认转换,因此您需要添加一些预设。不确定是否可以在“package.json”中执行此操作,但我添加了带有“react”和“es2015”预设的“.babelrc”文件,并对其进行了排序。看

{
  "dependencies": {
    "react": "~0.14.0",
    "react-dom": "~0.14.0"
  },
  "devDependencies": {
    "react-addons-test-utils": "~0.14.0",
    "babel-jest": "*",
    "jest-cli": "*"
  },
  "scripts": {
    "test": "jest"
  },
  "jest": {
    "scriptPreprocessor": "./node_modules/babel-jest",
    "unmockedModulePathPatterns": [
      "./node_modules/react",
      "./node_modules/react-dom",
      "./node_modules/react-addons-test-utils",
      "./node_modules/fbjs"
    ]
  }
}