如何防止跳过的测试被检查到源代码管理中

时间:2018-11-12 23:45:08

标签: javascript typescript continuous-integration jestjs

使用笑话来测试我们的javascript /打字稿代码,通常在编写和调试时将测试包装在describe.onlyit.only中。

这将使jest跳过文件或块中的所有其他测试,但是将其检入源代码管理很容易。我已经做过很多次了。

如果跳过任何测试,导致对CI的测试失败的最佳方法是什么?有短毛绒或开玩笑的选择吗?我找不到一个。

2 个答案:

答案 0 :(得分:1)

linter将完成这项工作。

将其添加到您的CI作业中,以便如果提交了错误的代码,则在GitHub等上的测试将失败。

您可以创建一个拒绝jest.it出现的custom rule

答案 1 :(得分:0)

自问这个问题以来,我已经进行了一些研究,并且能够找到棉绒规则来处理此问题。

对于Javascript,有一个eslint插件:https://www.npmjs.com/package/eslint-plugin-no-only-tests

对于Typescript,tslint-microsoft-contrib存储库中有一个tslint插件:https://github.com/Microsoft/tslint-microsoft-contrib,名为mocha-avoid-only

我已经测试了打字稿规则,并且可以用于开玩笑的测试。要设置其运行:npm install --save-dev tslint-microsoft-contrib,然后将以下内容添加到您的tslint配置中。

"rules": {
    "mocha-avoid-only": true
},
"rulesDirectory": [
    "node_modules/tslint-microsoft-contrib"
],