Javascript 单元测试反应JSX ES6
我正在使用React、JSX、ES6和Karma 有人知道我的代码有什么问题吗 我试图通过这个测试,但有点不对劲: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
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
}
});
};