Javascript 单元测试反应JSX ES6

Javascript 单元测试反应JSX ES6,javascript,unit-testing,reactjs,ecmascript-6,karma-runner,Javascript,Unit Testing,Reactjs,Ecmascript 6,Karma Runner,我正在使用React、JSX、ES6和Karma 有人知道我的代码有什么问题吗 我试图通过这个测试,但有点不对劲: let React = require("react"); let TestUtils = React.addons.TestUtils; let expect = require("expect"); /* global describe */ /* global it */ describe("Header", fu

我正在使用ReactJSXES6Karma

有人知道我的代码有什么问题吗

我试图通过这个测试,但有点不对劲:

let React = require("react");
let TestUtils = React.addons.TestUtils;
let expect = require("expect");

/* global describe */
/* global it */
describe("Header", function () {
  it("renders without problems", function () {
    let component = <Header/>;
    let header = TestUtils.renderIntoDocument(component);

    expect(header).toExist();
  });
});
非常感谢你


编辑 karma.conf.js

module.exports = function (config) {
  config.set({
    browsers: [ process.env.CONTINUOUS_INTEGRATION ? "Firefox" : "Chrome" ],
    files: [
      "tests.bundle.js"
    ],
    frameworks: ["chai", "mocha"],
    plugins: [
      "karma-chrome-launcher",
      "karma-chai",
      "karma-mocha",
      "karma-sourcemap-loader",
      "karma-webpack"
    ],
    preprocessors: {
      "tests.bundle.js": ["webpack", "sourcemap"]
    },
    reporters: ["dots"],
    singleRun: true,
    webpack: {
      devtool: "inline-source-map",
      module: {
        loaders: [
          {
            exclude: /node_modules/,
            loader: "babel-loader",
            test: /\.jsx?$/
          }
        ]
      }
    },
    webpackMiddleware: {
      noInfo: true
    }
  });
};

如果您想在测试中使用JSX,您需要连接测试


这将在执行前运行babel以传输测试。否则,当karma运行测试时,ES6或JSX语法将导致错误。

如果您想在测试中使用JSX,则需要连接测试


这将在执行前运行babel以传输测试。否则,当karma运行测试时,ES6或JSX语法将导致错误。

我在
karma.conf.js
中安装并添加了一个“插件”。但没什么。。。同样的错误…你能发布你的
karma.conf.js
吗?添加:)谢谢@Davin TryonI安装并添加到
karma.conf.js
中,就像一个“插件”。但没什么。。。同样的错误…你能发布你的
karma.conf.js
?添加:)谢谢@Davin Tryon
module.exports = function (config) {
  config.set({
    browsers: [ process.env.CONTINUOUS_INTEGRATION ? "Firefox" : "Chrome" ],
    files: [
      "tests.bundle.js"
    ],
    frameworks: ["chai", "mocha"],
    plugins: [
      "karma-chrome-launcher",
      "karma-chai",
      "karma-mocha",
      "karma-sourcemap-loader",
      "karma-webpack"
    ],
    preprocessors: {
      "tests.bundle.js": ["webpack", "sourcemap"]
    },
    reporters: ["dots"],
    singleRun: true,
    webpack: {
      devtool: "inline-source-map",
      module: {
        loaders: [
          {
            exclude: /node_modules/,
            loader: "babel-loader",
            test: /\.jsx?$/
          }
        ]
      }
    },
    webpackMiddleware: {
      noInfo: true
    }
  });
};