2

我正在使用 Node.js 8.x 中的GCP Secrets Manager(我知道,它很古老,但它是 Cloud Functions 上最新的 GA Node 运行时)。但是,当我运行他们的示例时,它不断从这一行抛出 gRPC 错误:

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type object

我正在尝试测试的代码行:

const secretClient = new SecretManagerServiceClient();

如果我在 Node 8.x 或 Node 10.x 上运行,并且如果我使用最新版本的 secrets lib ( ) 或 Node 8.x ( )3.0.0的旧版本,我会收到相同的错误1.2.1

4

1 回答 1

3

似乎发生此错误是因为该库正在运行浏览器而不是Node模式,这迫使它避免“回退”模式,试图错误地查找 gRPC 路径。该决定是因为window在范围内,欺骗了isBrowser逻辑

根本原因

根本原因是jest用于测试,默认情况下以jsDommode运行,插入全局变量,如window.

使固定

将以下内容添加到您的jest.config.json文件中。

testEnvironment: 'node',
于 2020-04-19T19:07:10.643 回答