Guy*_*Guy 19 javascript node.js jasmine codeship
fdescribe()fit()当您处理一部分测试时,它们非常适合降低噪音.我有时会忘记将它们更改为describe()/ it()在将我的分支合并到主服务器之前/ 之前.(在处理代码时将它们放在单独的分支中是可以的 - 即预先提交检查对我不起作用.)
我的CI环境是Codeship.如果遇到任何有针对性的方法,是否有解决这个问题的解决方案会使Codeship中的测试失败?
使用像无焦点测试这样的东西是可以的.知道如何在Codeship中启用此规则作为错误并在本地禁用它吗?
编辑 14.11.19:
为了让事情更容易,我创建了一个可安装的包,你可以在https://www.npmjs.com/package/tslint-jasmine找到
原帖:
如果您正在使用 TSLint 并且(像我一样)发现所有散焦和 tslint-jasmine-noSkipOrFocus 检查器都不适合您,我为此创建了一个要点:https ://gist.github.com/djungowski/7d9126bb79970446b4ffeb5656c6bf1f
如何使用:
TSLint/Rules中noJasmineFocusRule.jsrulesDirectory: 'TSLint/Rules'"no-jasmine-focus": true使用诸如非集中测试之类的东西就可以了。知道如何在 Codeship 中启用此规则作为错误并在本地禁用它吗?
您可以结合使用环境变量并重新定义 fdescribe/fit 全局函数:
npm i --save cross-env
包.json:
"scripts": {
"test": "jasmine",
"test-safe": "cross-env FOCUSED_TESTS=off jasmine"
},
Run Code Online (Sandbox Code Playgroud)disableFocusedTestsIfNecessary.js(包含在jasmine 定义其全局变量之后):
if (process.env.FOCUSED_TESTS === "off") {
console.log("Focused tests must be off");
global.fdescribe = global.fit = function() {
throw new Error("fdescribe and fit are disabled in this environment");
};
}
else {
console.log("Focused tests enabled");
}
Run Code Online (Sandbox Code Playgroud)告诉 codeship 运行npm run test-safe而不是npm run test
| 归档时间: |
|
| 查看次数: |
3289 次 |
| 最近记录: |