gpt4 book ai didi

chai - 使用 chai 消除 no-unused-expressions linter 错误的好方法

转载 作者:行者123 更新时间:2023-12-02 15:03:25 27 4
gpt4 key购买 nike

在我的 Chai 测试中,我经常发现自己想要使用他们的断言,例如 .to.be.empty.to.be.true 等,因为我发现它们比 .to.be.length(1).to.be.equal(true) 更容易阅读。然而,这破坏了我的 linter(我使用的是默认的 Airbnb linting)。

我可以使用 //disable-eslint-line 语法,但随后我必须将其添加到像这样读取的每一行中,这看起来很乏味。

我还读过有关 DirtyChai 的内容库,但这需要我回顾整个测试库,给它们添加括号,这似乎是我不应该做的事情,只是为了让我的 linter 传递一些它本来应该可以接受的东西。

有谁知道比我上面概述的方法更好的方法来处理这个问题?

最佳答案

您可以使用eslint-disable禁用整个文件的规则。在相关文件的顶部:

/* eslint-disable no-unused-expressions */
expect(someTrueValue).to.be.true;

但是,将其添加到每个测试文件的顶部可能会很乏味。要对所有相关文件禁用此规则,您可以:

  1. 放置一个新的 .eslintc configuration file与测试文件位于同一目录中,配置为禁用该规则。这允许您对所有其他规则使用默认配置,同时忽略仅针对该文件夹中的文件的规则。 ESLint 将此称为 Configuration Cascading .

    {
    "rules": {
    "no-unused-expressions": "off"
    }
    }
  2. 使用主 .eslintrc 文件中的 overrides 键来 disable rules for groups of files使用全局模式匹配:

    {
    "overrides": [
    {
    "files": ["*.test.js", "*.spec.js"],
    "rules": {
    "no-unused-expressions": "off"
    }
    }
    ]
    }

这还允许您禁用其他在测试中变得麻烦的规则,例如使用 rewire 时的 no-underscore-dangle .

关于chai - 使用 chai 消除 no-unused-expressions linter 错误的好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37558795/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com