在Azure函数(Node.js)中使用Jest进行测试时未定义process.env变量

时间:2019-04-23 11:08:09

标签: node.js azure jestjs azure-functions

process.env变量在运行yarn run jest时显示未定义。我已经将每个配置变量存储在我的local.settings.json文件中,并且在正常调试中可以正常工作。

我的代码是这样的:

local.settings.json

{
    "IsEncrypted": false,
    "Host":  {
                 "LocalHttpPort": 7071,
                 "CORS": "*"
             },
    "Values":  {
                   "IOTHUB_CONNECTION_STRING":  "xxxxxxxxxxxxxxxxxx",
                   "AZURE_DEVOPS_URL":  "xxxxxxxxxxxxxxxxxxxx"
               }
}

jest.config.js

module.exports = {
  log: jest.fn(),
}

azure httptrigger函数-index.js

const iothubConnectionString = process.env["IOTHUB_CONNECTION_STRING"];
console.log( iothubConnectionString ) //undefined

由于这些配置变量,我的测试失败。我需要通过测试。任何人都可以请帮助我。

1 个答案:

答案 0 :(得分:1)

local.settings.json特定于Azure Functions核心工具。只要您使用Core Tools CLI运行该功能,就可以通过process.env

访问此文件中定义的环境变量。