Node.js 通过节点在Mocha测试中使用Wolkenkit客户端“无法获取配置”

Node.js 通过节点在Mocha测试中使用Wolkenkit客户端“无法获取配置”,node.js,mocha.js,domain-driven-design,wolkenkit,Node.js,Mocha.js,Domain Driven Design,Wolkenkit,我正在尝试通过节点中的Mocha测试与我的Wolkenkit应用程序交互 根据,在运行测试时,我得到以下错误: Error: Failed to get configuration. at ConfigurationWatcher.wentOffline (node_modules/wolkenkit-client/dist/ConfigurationWatcher.js:113:28) at /home/aef/Projects/experiments/wolkenkit_bullet

我正在尝试通过节点中的Mocha测试与我的Wolkenkit应用程序交互

根据,在运行测试时,我得到以下错误:

Error: Failed to get configuration.
  at ConfigurationWatcher.wentOffline (node_modules/wolkenkit-client/dist/ConfigurationWatcher.js:113:28)
  at /home/aef/Projects/experiments/wolkenkit_bullet/node_modules/wolkenkit-client/dist/ConfigurationWatcher.js:101:16
  at tryCatch (node_modules/es6-promise/dist/es6-promise.js:409:12)
  at invokeCallback (node_modules/es6-promise/dist/es6-promise.js:424:13)
  at publish (node_modules/es6-promise/dist/es6-promise.js:398:7)
  at publishRejection (node_modules/es6-promise/dist/es6-promise.js:339:3)
  at flush (node_modules/es6-promise/dist/es6-promise.js:128:5)
  at processTicksAndRejections (internal/process/task_queues.js:79:11)
非常感谢您对解决此问题的任何帮助

我在package.json中添加了以下依赖项:

我的测试代码如下所示:

'using strict';

const expect = require('chai').expect;
const wolkenkit = require('wolkenkit-client');

describe("wolkenkit app", () => {
    it("first test", async () => {
        const app = await wolkenkit.connect({host: 'local.wolkenkit.io', port: 3000});
    });
})

此错误可能是由本地自签名证书引起的。客户端无法连接到后端,因为它不信任此证书。您可以使用process.env.NODE\u TLS\u REJECT\u UNAUTHORIZED标志绕过此检查,如下所示

process.env.NODE_TLS_REJECT_UNAUTHORIZED = 0;

suite('integration', () => {
  let application;

  suiteSetup(async () => {
    application = await wolkenkit.connect({ host: 'local.wolkenkit.io', port: 3000 });
  });

另一个选项是将证书添加到受信任的证书中

此错误可能是由本地自签名证书引起的。客户端无法连接到后端,因为它不信任此证书。您可以使用process.env.NODE\u TLS\u REJECT\u UNAUTHORIZED标志绕过此检查,如下所示

process.env.NODE_TLS_REJECT_UNAUTHORIZED = 0;

suite('integration', () => {
  let application;

  suiteSetup(async () => {
    application = await wolkenkit.connect({ host: 'local.wolkenkit.io', port: 3000 });
  });

另一个选项是将证书添加到受信任的证书中

当在节点内设置环境变量不起作用时,通过在系统环境中将Node_TLS_REJECT_UNAUTHORIZED设置为0解决了该问题,如:

export NODE_TLS_REJECT_UNAUTHORIZED=0

多亏@mattwagl指向了正确的方向。

在节点内设置环境变量无效时,通过在系统环境中将Node_TLS_REJECT_UNAUTHORIZED设置为0,问题得以解决,如:

export NODE_TLS_REJECT_UNAUTHORIZED=0

感谢@mattwagl指出了正确的方向。

遗憾的是,这并不能解决问题。无论是在代码中还是在实际环境中设置环境变量都不会更改错误消息。应用程序是否正确启动?wolkenkit start的输出是什么?它是否以等待结束https://local.wolkenkit.io:3000/ 答复。。。并在https://local.wolkenkit.io:3000/? 如果这是输出,则表示应用程序正在正确运行。然后将浏览器指向https://local.wolkenkit.io:3000/. 你看到了什么?您可以使用浏览器验证证书是否有效以及证书是否正确送达。wolkenkit start可以正常工作。我可以在本地访问wolkenkit控制台,手动发送命令并查看正在构建的投影。但是,当我尝试连接时,wolkenkit客户端仍会产生错误。wolkenkit Start的输出中没有显示任何相关内容。您是否可以发布整个测试套件?发布的是当时的整个测试套件。这只是我尝试从Node连接到Wolkenkit的第一步。遗憾的是,这并不能修复它。无论是在代码中还是在实际环境中设置环境变量都不会更改错误消息。应用程序是否正确启动?wolkenkit start的输出是什么?它是否以等待结束https://local.wolkenkit.io:3000/ 答复。。。并在https://local.wolkenkit.io:3000/? 如果这是输出,则表示应用程序正在正确运行。然后将浏览器指向https://local.wolkenkit.io:3000/. 你看到了什么?您可以使用浏览器验证证书是否有效以及证书是否正确送达。wolkenkit start可以正常工作。我可以在本地访问wolkenkit控制台,手动发送命令并查看正在构建的投影。但是,当我尝试连接时,wolkenkit客户端仍会产生错误。wolkenkit Start的输出中没有显示任何相关内容。您是否可以发布整个测试套件?发布的是当时的整个测试套件。这只是我尝试从Node连接到Wolkenkit的第一步。