现在我的团队正在运行量角器/茉莉花节点进行验收测试,并使用karma / jasmine进行单元测试。
有可能,并且它已经发生了,有人用iit推送代码或者用于量角器/茉莉花节点测试,并且适合或描述业力/茉莉花测试。这样做会强制茉莉只运行那些测试,跳过所有其他测试。这对于调试很有用,但是如果有人忘记恢复这些更改并将此代码推送到我们的持续集成服务器(Jenkins),我希望我们的CI作业失败,因为可能存在被跳过的破坏的测试。 / p>
是否有任何命令行标志或配置设置我可以传递给karma.conf.js或protractor.conf.js,这将强制所有测试运行,以便我们的CI框不会跳过任何测试?
我猜这个问题是两个部分,对于karma / jasmine和protractor / jasmine-node。任何帮助表示赞赏。
我的版本:
"jasmine-core": "^2.3.4",
"karma": "~0.12",
"karma-jasmine": "^0.3.5",
"protractor": "^2.1.0",
"jasmine-node": "~1.14.5",
答案 0 :(得分:5)
不要试图解决这些症状,而是修复根问题 - 重点测试实际上已经提交到存储库这一事实是最初的问题。
我们已使用静态代码分析和ESlint
解决了这个问题 - 有一个特定的ESlint
插件 - eslint-plugin-jasmine
除了其他不同的检查外,如果您已经离开则会发出警告fdescribe
,fit
,ddescribe
,iit
,xdescribe
或xit
。
我们还添加了一个运行ESlint
的git预提交钩子(在pre-git
的帮助下)并且如果存在lint错误则不会让提交通过。
答案 1 :(得分:0)
你需要的只是pre-git能够添加预先提交和预发布的钩子,以便在你能够发出git命令之前通过这些任务。