【问题标题】:how to override an environment variable for different test cases in nodeJS?如何覆盖nodeJS中不同测试用例的环境变量?
【发布时间】:2018-01-15 07:37:24
【问题描述】:

我正在使用 dotenv 加载 .env 文件,但我需要针对特定​​环境变量的不同值运行测试用例。但不幸的是,一旦加载 dotenv 并不允许我更改 env 变量的值,我就无法再次重置该值。

有什么替代方法可以解决这个问题?

【问题讨论】:

    标签: node.js unit-testing getenv


    【解决方案1】:

    您应该只将那些变量作为不影响您的代码的环境变量。例如数据库主机、密码、api密钥等。

    我建议你制作 3 个 env 文件 - 开发、测试、生产。并使用它们。

    【讨论】:

      【解决方案2】:

      您可以拥有多个版本的 .env 文件,其中包含要测试的不同值。您可以使用 dotenv 的 parse 方法解析配置文件的备用版本来调用不同的配置。

      例如:

      var dotenv = require('dotenv');
      var fs = require('fs');
      
      var config1 = dotenv.parse(fs.readFileSync('/path/to/config1'));
      var config2 = dotenv.parse(fs.readFileSync('/path/to/config1'));
      var config3 = dotenv.parse(fs.readFileSync('/path/to/config1'));
      

      【讨论】:

        猜你喜欢
        • 2020-08-27
        • 2021-04-26
        • 1970-01-01
        • 2018-07-04
        • 1970-01-01
        • 2019-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多