clojure - lein test with-profile 无法覆盖测试配置文件的 env 值
问题描述
我正在做一些 Clojure 宠物项目。我有一些配置文件,如下所示
{:test {:env {:database-name "library_test",
:host-name "192.168.33.10"
:username "library_admin"
:password ""
:dbtype "postgres"
:driver-class-name "org.postgresql.Driver"}},
:dev {:env {:database-name "library",
:host-name "192.168.33.10"
:username "library_admin"
:password ""
:dbtype "postgres"
:driver-class-name "org.postgresql.Driver"}},
:travis {:env {:database-name "test_library_test",
:host-name "localhost"
:username "test_user"
:password "password"
:dbtype "postgres"
:driver-class-name "org.postgresql.Driver"}}}
现在我正在尝试为该项目设置 Travis-CI。我想在运行测试时覆盖测试配置文件 CI 的值,为此我使用以下命令
lein with-profile travis 测试
这里 lein 正在激活travis配置文件,但它从测试配置文件而不是travis配置文件中获取环境变量值。
有没有人遇到过这样的问题?
解决方案
原因:Lein默认合并test
配置文件。您可以看到有效的项目图lein with-profile travis,test pprint
解决方案:我假设您正在使用environ
或类似的东西。如果是这样,您可以使用env in UPCASE_WITH_UNDERSCORE
(eg )导出值,DATABASE_NAME=test_library_test
它们将覆盖配置文件中的值
推荐阅读
- javascript - 打印数组时使用多个逗号Javascript
- python - pip 没有从 requirements.txt 安装包,而是从命令安装包
- fortran - 如何避免在 Fortran 中切换矩阵索引的循环?
- visual-studio-code - VS Code 开发容器,在根文件夹上方具有相关文件夹
- java - 如何返回具有相同输入的调用之间的函数调用计数?
- linux - 如果在 Linux 主机而不是 Windows 上安装 VxWorks 6.9,则 DCOM 库丢失
- mysql - 相同的查询在 mysql 工作台和 nodejs 中针对相同的查询给出不同数量的结果
- c# - HttpException 请求超时
- javascript - 动漫js动画问题
- javascript - 使用 TMDb 和 axios npm 的电影搜索网站