有没有办法强制业力或量角器执行跳过的茉莉花测试?

Is there a way to force karma or protractor to execute skipped jasmine tests?

目前我的团队正在 运行 宁 protractor/jasmine-node 进行验收测试,karma/jasmine 进行单元测试。

有人使用 iit 或 ddescribe 推送代码进行 protractor/jasmine-node 测试,并使用 fit 或 fdescribe 进行 karma/jasmine 测试,这是可能的,并且已经发生了。这样做会强制 jasmine 只进行 运行 那些测试,跳过所有其他测试。这对调试很有用,但是如果有人忘记恢复这些更改并将此代码推送到我们的持续集成服务器 (Jenkins),我希望我们的 CI 作业失败,因为可能存在损坏的测试被跳过。

是否有任何命令行标志或配置设置我可以传递给 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",

不要试图绕过症状,而是解决根本问题 - 重点测试实际上已提交到存储库的事实是最初的问题。

我们已经使用静态代码分析解决了这个问题,ESlint - there is a specific ESlint plugin - eslint-plugin-jasmine 除了其他不同的检查之外,如果您离开 fdescribefitddescribe,它还会警告您, iit, xdescribexit.

我们还添加了一个 git pre-commit 挂钩(在 pre-git 的帮助下),它运行 ESlint 并且不会让提交通过如果有 lint 错误。

您所需要的只是 pre-git 能够为预提交和 pre-post 添加挂钩,以要求这些任务在您能够触发 git 命令之前通过。

https://github.com/bahmutov/pre-git