我们团队中的一位开发人员(我)在Jasmine测试中不小心检查了fdescribe
和fit
。这有时会导致屏蔽破坏的测试。
如果使用fdescribe
,或者(更好?)配置jasmine服务器端以将fdescribe
(和fit
)视为常规describe
(和it
)?
我宁愿使用那些然后再回到?spec
方法。
我也想借此机会为此做道歉。
答案 0 :(得分:4)
我们通过静态代码分析和eslint
来接近它。
有一个特定的插件:eslint-plugin-jasmine
,请参阅:
示例输出:
test/e2e/specs/test.spec.js
5:0 error Unexpected fdescribe jasmine/no-focused-tests
目前,该插件还会检查已禁用的测试和重复的套件名称。
答案 1 :(得分:1)
如果您确实希望fit
和fdescribe
分别表现为it
和describe
,则可以在另一个文件中覆盖另一个,并在之前插入您的实际规格(如何插入取决于您的测试运行员):
// assuming Jasmine is already loaded and has published it's public API
fit = it;
fdescribe = describe;
但我不建议使用这种方法,因为如果你真的想要关注某些规范,你必须对这些内容进行评论或从跑步者中排除该文件。我宁愿将此添加为构建过程的另一个步骤,如果您有一个或预提交钩子,它将运行某些工具,如@alecxe has suggested,分析现有fit
和{{的代码1}}并且无法构建/拒绝提交。