【问题标题】:Jest looks like not correctly processing simple importJest 看起来没有正确处理简单的导入
【发布时间】:2019-11-05 02:11:54
【问题描述】:

运行NPM test 会导致失败。 看起来 es6 导入无法正常工作:

import adder from '../adder'

有关该问题的更多信息可以找到here

我尝试根据 jest 建议将以下 sn-p 添加到 .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.

【问题讨论】:

  • 欢迎 Daniel,请出示您的 adder 文件,因为您似乎没有正确使用 adder.js 中的默认导出。
  • 今天令人惊讶的是,我注意到 adder.js 文件中没有代码。在我添加代码后,现在开玩笑测试通过了。
  • 是的,我查看了您的 GitHub 存储库,发现 addr.js 文件为空。祝你好运!

标签: ecmascript-6 jestjs


【解决方案1】:

adder.js file 中没有代码。 更新adder.js 后,jest 测试通过。

 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.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 2014-04-17
    • 2014-06-30
    • 2018-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多