在 Mocha ESlint 错误中测试内部函数

Testing internal functions in Mocha ESlint error

我目前正在开发 Nodejs 应用程序并进行一些单元测试(我使用的是 Mocha、Chai 和 Sinon)。

我在导出和测试内部函数时 运行 遇到一点 ESlint 错误。

function _buildPayload(){
    //....
}

module.exports = { _buildPayload };

然后在我的测试脚本中

const {_buildPayload} = requires('./someModule')

describe('Test',function(){
          it('Should work',function(){
              let expected = _buildPayload();
             })
        })

当我写 let expected = _buildPayload(); ESlint returns 时出现以下错误:

error  Shouldn't be accessing private attribute '_buildPayLoad'

我的问题是我是否应该将我的函数的名称更改为不表示和内部,即使它是?

@philipisapain 提出了一个很好的观点,即可能没有必要测试内部方法。如果您确实需要这样做,您有几个选择:

  1. 通过将 /* eslint-disable rule-name */ 放在任何调用私有方法的测试脚本的顶部来禁用规则。
  2. 在您的 .eslintrc 中使用 glob config 禁用所有测试脚本中的规则,前提是您至少使用 ESLint v4.1.0:

    "overrides": [{
        "files": ["*.test.js"],
        "rules": [{
            "rule-name": "off"
        }]
    }]