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

标签 javascript node.js mocha.js eslint

我目前正在开发一个 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 返回以下错误:

error  Shouldn't be accessing private attribute '_buildPayLoad'

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

最佳答案

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

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

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

关于javascript - 在 Mocha ESlint 中测试内部函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48757270/

相关文章:

javascript - 主干监听属性更改

javascript - window.open 在 Windows Phone 8 上返回 null

javascript - 单击时清除 <p> 标记中的默认文本

node.js - 在用 NodeJS 编写音频文件时读取它

node.js - Node JS请求获取原始url

javascript - 仅执行 1 次的 mocha global `before`

javascript - 范围变量在 ng-click 处理程序中不可见

javascript - MongoDB:如何创建一个具有对象数组作为字段的对象?

node.js - 使 Mocha 测试适用于我的数据库模块

node.js - 使用 sinon 和 mocha stub pg-promise