【问题标题】:JavaScript Standard Style does not recognize jestJavaScript 标准样式无法识别笑话
【发布时间】:2018-02-16 01:44:20
【问题描述】:

我需要设置 jest 和 JavaScript Standard Style 在使用 npm test 时协同工作。

现在,当我运行 npm test 时,测试失败,因为 JavaScript 标准样式引发了错误:

'test' is not defined.
'expect' is not defined. 

我可以通过在我的 package.json 文件中定义一些全局的玩笑来解决这个问题。

"standard": {
    "globals": [
        "fetch",
        "test",
        "expect"
    ]
}

但我绝对不认为这是一个好的解决方案。

在我的测试用例 sum.test.js

const sum = require('./sum')    
test('adds 1 + 2 to equal 3', () => {
    expect(sum(1, 2)).toBe(3)
})

在我的 package.json 中:

"scripts": {
    "test": "standard && jest",
}

问题:

  • 如何配置 JavaScript 标准样式,使其在与 jest 一起使用时不会引发错误?

【问题讨论】:

    标签: javascript node.js jestjs


    【解决方案1】:

    在您的 .eslintrc.js 文件中,包含以下设置,您就可以开始了。

    "env": {
      "node": true,
      "jest": true
    }
    

    如果您使用的是.eslintrc.eslintrc.json 文件,请使用适当的语法。

    【讨论】:

      【解决方案2】:

      我找到了解决办法。

      在 package.json 中

      "standard": {
        "env": [ "jest" ]
      }
      

      或者在测试用例中:

      /* eslint-env mocha */
      

      【讨论】:

      • 我猜/* eslint-env mocha */应该是/* eslint-env jest */
      • 就我而言,我想使用fail,但它未被识别。我根据原始问题将"globals": [ "fail" ] 添加到standard 条目package.json 中,它似乎有效,但我相信这将允许fail 在所有文件中,而不仅仅是测试。
      • 在测试用例中确实更好,但是对于开始一个玩具项目时的快速修复,全局定义环境一点也不差。
      猜你喜欢
      • 2015-07-13
      • 2021-07-08
      • 2019-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-22
      相关资源
      最近更新 更多