在 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 提出了一个很好的观点,即可能没有必要测试内部方法。如果您确实需要这样做,您有几个选择:
- 通过将
/* eslint-disable rule-name */
放在任何调用私有方法的测试脚本的顶部来禁用规则。
在您的 .eslintrc
中使用 glob config 禁用所有测试脚本中的规则,前提是您至少使用 ESLint v4.1.0
:
"overrides": [{
"files": ["*.test.js"],
"rules": [{
"rule-name": "off"
}]
}]
我目前正在开发 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 提出了一个很好的观点,即可能没有必要测试内部方法。如果您确实需要这样做,您有几个选择:
- 通过将
/* eslint-disable rule-name */
放在任何调用私有方法的测试脚本的顶部来禁用规则。 在您的
.eslintrc
中使用 glob config 禁用所有测试脚本中的规则,前提是您至少使用 ESLintv4.1.0
:"overrides": [{ "files": ["*.test.js"], "rules": [{ "rule-name": "off" }] }]