Test ES6 modules with Jest

后端 未结 2 1908
栀梦
栀梦 2020-12-10 04:13

How to test ES6 modules with Jest.


Example:

sum.js

const sum = function (a, b         


        
相关标签:
2条回答
  • 2020-12-10 04:48

    The only requirement is to config your test environment to Babel, and add the es2015 transform plugin:


    Step 1:

    Add your test environment to .babelrc in the root of your project:

    {
      "env": {
        "test": {
          "plugins": ["@babel/plugin-transform-modules-commonjs"]
        }
      }
    }
    

    Step 2:

    Install the es2015 transform plugin:

    npm install --save-dev @babel/plugin-transform-modules-commonjs
    

    And that's it. Jest will enable compilation from ES modules to CommonJS automatically, without having to inform additional options to your jest property inside package.json.

    0 讨论(0)
  • 2020-12-10 04:58

    The solutions above didn't work for me. I was able to solve with this:

    yarn add --dev babel-jest @babel/core @babel/preset-env @babel/preset-typescript
    

    babel.config.js

    module.exports = {
        presets: [
            [
                '@babel/preset-env',
                {
                    targets: {
                        node: 'current',
                    },
                },
            ],
            '@babel/preset-typescript'
        ],
    };
    

    where I'm using typescript.

    Reference.

    0 讨论(0)
提交回复
热议问题