javascript - 根据环境变量阻止 JEST 运行
问题描述
我想阻止 JEST 运行任何测试,并在缺少环境变量时显示错误。
我知道可以在 中进行一些设置setupFilesAfterEnv
,但我不知道如何在那里停止 JEST。
谢谢
解决方案
我认为这里最好的方法实际上是在运行命令本身之前检查环境变量(使用 bash 或 cmd 或其他 js 脚本)。
例如,如果要检查 npm 脚本中的 1 个变量,可以执行以下操作:
// with bash
//package.json
"scripts": {
"test": "[[ -z \"$MY_ENV\" ]] && echo \"MY_ENV NOT FOUND!\" || jest"
}
//with JS
//env-checker.js
if (!process.env.hasOwnProperty('MY_ENV')) {
console.error('could not find MY_ENV!')
process.exit(1)
}
//package.json
"scripts": {
"test": "node env-checker.js && jest"
}
更新:
您也可以从 inside 退出该过程Jest
,但我会说这是一个 hack,因为您还限制了自己只有 1 个失败的测试。Jest 文档中的参考:https ://jestjs.io/docs/en/configuration#bail-number-boolean
//in jest config
{
"setupFiles": ["./env-checker.js"],
"bail": 1
}
推荐阅读
- javascript - 插入对象时未返回响应
- java - 如何使用最新的 Java SE 版本?
- kubernetes - Helm 为配置预安装 yaml
- node.js - 如何处理 pupeteer 中按钮单击的新页面?
- if-statement - 如何在 if 语句中使用这个空格?
- android - 使用 Kotlin 和 Android 10 的 ClusterItem 和自定义标记颜色
- angularjs - 控制器变量在自定义指令操作之前未更新
- java - org.hibernate.MappingException:没有 JDBC 类型的方言映射:使用 Geometry 参数调用 postgresql 函数时出现 1111
- html - 下拉菜单的按钮和ul是如何连接的?
- python - python如何解码http响应