我的团队偶尔存在一个问题,即开发人员推动包含.nolly()函数调用的业力/量角测试,这当然使我们的jenkins等只能运行特定的测试,潜在地允许错误滑过。因此,我想我会尝试找出一种方法来阻止这种情况发生而不会被发现。
首先,我认为我会只是简单地使用jshint指出函数调用,但我似乎找不到一种方法来做到这一点。我还查看了ESLINT的自定义插件,但我不知道如何为此特定情况编写插件。
你们能给我一些关于如何解决这个问题的想法吗?当然,还赞赏替代解决方案!
这是一个(可能无法工作的示例),即如果解析器看到only()
调用,则如何创建插件来标记错误。同样,里程可能会有所不同,但应该足以让您入门。如果看到a.only()
,这将不起作用,我们将其保留给您。
module.exports.rules = {
"no-only-call": context => ({
CallExpression: (node) => {
if(node.callee.name == "only"){
context.report(node, 'Calls to only() are disallowed');
}
}
})
};
- https://www.kenneth-truyers.net/2016/05/27/writing-custom-eslint-rules/-创建自定义规则的简单示例
http://esprima.org/demo/parse.html-使用此在线解析器来帮助您了解解析树。
https://www.npmjs.com/package/generator-eslint-使用此生成器启动插件项目