There are situations when you need to run your tests inside a real browser, for cross-browser testing or maybe to get support for a specification that wasn't implemented into JSDOM yet. Using this project you don't need to eject your projects created using Create React App.
Install this lib using:
npm install --save react-scripts-karma
Override the test script of your project's
package.json (and other scripts if you want to use our forked version):
Write a simple test inside your
src directory, with a
const assert = ;;
npm run test
The default karma configuration is:
const karmaConfig =browsers: 'Chrome'frameworks: 'mocha'files:pattern: 'src/setupTests.js'pattern: 'src/**/*.spec.js'preprocessors:'src/setupTests.js': 'webpack''src/**/*.spec.js': 'webpack'reporters: 'nyan'webpack:mode: 'development'node:fs: 'empty'optimization:splitChunks: falseruntimeChunk: falseresolve:modules: 'src' 'node_modules'module:rules:test: /\.js$/exclude: /node_modules/loader: 'babel-loader'test: /\.$/use:loader: 'file-loader'test: /\.css$/use: 'style-loader' 'css-loader'webpackServer:noInfo: truecolors: trueautoWatch: falsesingleRun: true
But you can override or add other configs just adding the key "karma" into your
If you want to use Jest to compare the results with karma or for any other reason, you can use the command
react-scripts-karma test-jest, as bellow:
This project is MIT licensed.