我正在尝试通过Node中的Mocha测试与Wolkenkit应用程序进行交互。
跟随tutorial on client connections,在运行测试时,出现以下错误:
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
中添加了以下依赖项:
"devDependencies": {
"chai": "^4.2.0",
"mocha": "^7.0.1"
},
"dependencies": {
"wolkenkit": "^3.1.2",
"wolkenkit-client": "^3.1.0"
},
我的测试代码如下:
'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_TLS_REJECT_UNAUTHORIZED
标志来绕过此检查…
process.env.NODE_TLS_REJECT_UNAUTHORIZED = 0;
suite('integration', () => {
let application;
suiteSetup(async () => {
application = await wolkenkit.connect({ host: 'local.wolkenkit.io', port: 3000 });
});
另一种选择是将证书添加到您信任的证书中。