我目前正在开发一个 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 提出了一个很好的观点:测试内部方法可能没有必要。如果您确实需要这样做,您有几个选择:
- 通过将
/* eslint-disablerule-name */
放置在调用私有(private)方法的任何测试脚本的顶部来禁用规则。 使用 glob config 在所有测试脚本中禁用该规则在您的
.eslintrc
中,前提是您至少使用 ESLintv4.1.0
:"overrides": [{ "files": ["*.test.js"], "rules": [{ "rule-name": "off" }] }]
关于javascript - 在 Mocha ESlint 中测试内部函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48757270/