开玩笑似乎没有正确处理简单的导入

时间:2019-06-22 15:33:21

标签: ecmascript-6 jestjs

运行NPM test会导致失败。 es6导入似乎无法正常工作:

import adder from '../adder'

有关该问题的更多信息,请参见here

我尝试根据玩笑的建议将以下代码段添加到.babelrc文件中,并安装了transform-es2015-modules-commonjs。

  "env": {
    "test": {
      "plugins": ["transform-es2015-modules-commonjs"]
    }
  }

这是最后的文件:adder.test.js。

javascript
import adder from '../adder'

describe('Adder', () => {
  test('adds two numbers', () => {
    expect(adder(5, 3)).toEqual(8)
  })
})

这是npm test的结果:

$ npm test

> express-webpack@1.0.0 test C:\Users\Daniel\Workspaces\Web\express-webpack
  

开玩笑

 FAIL  src/js/test/adder.test.js
  Adder
    × adds two numbers (1ms)

  ● Adder › adds two numbers

    TypeError: (0 , _adder.default) is not a function

      3 | describe('Adder', () => {
      4 |   test('adds two numbers', () => {
    > 5 |     expect(adder(5, 3)).toEqual(8)
        |            ^
      6 |   })
      7 | })

      at Object.<anonymous> (src/js/test/adder.test.js:5:12)

Test Suites: 1 failed, 1 total
Tests:       1 failed, 1 total
Snapshots:   0 total
Time:        2.304s, estimated 4s
Ran all test suites.
npm ERR! Test failed.  See above for more details.

1 个答案:

答案 0 :(得分:0)

adder.js file中没有代码。 对adder.js进行审核后,笑话测试通过。

 PASS  src/js/test/adder.test.js
  Adder
    √ adds two numbers (4ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        2.805s
Ran all test suites.