【问题标题】:Intercepting IBM's Watson Botkit middle-ware for testing拦截 IBM 的 Watson Botkit 中间件进行测试
【发布时间】:2019-08-21 01:32:14
【问题描述】:

我的项目使用botkit-middleware-watson 与 IBM Watson 对话。现在我需要为这个 Watson 服务制作一个模拟服务器。

这只是调用 Watson 的 API 的一行代码。

await watsonMiddleware.sendToWatsonAsync(bot, msg, null);

我的问题是,如何拦截 API 调用并将调用重定向到我的 Watson Mock-Server?

【问题讨论】:

  • 您是想用您的模拟服务器替换 Watson Assistant 还是只是进行额外的调用?
  • @data_henrik 我只需要进行一个不回复真正 Watson 服务的端到端测试。不知道能不能实现?
  • Watson botkit 只是旧版本 botkit.ai 的插件(在购买之前)。 botkit.ai/docs/v0/middleware.html
  • 嗨@data_henrik 感谢您的回复。我只是想通了,我只需要提供一些模拟响应就足够了。

标签: node.js testing mocking ibm-watson watson-assistant


【解决方案1】:

this one 等botkit-middleware-watson 示例展示了如何配置WatsonMiddleware

const WatsonMiddleware = require('botkit-middleware-watson').WatsonMiddleware;

const middleware = new WatsonMiddleware({
  iam_apikey: process.env.ASSISTANT_IAM_APIKEY,
  workspace_id: process.env.WORKSPACE_ID,
  url: process.env.ASSISTANT_URL || 'https://gateway.watsonplatform.net/assistant/api',
  version: '2018-07-10'
});

...ASSISTANT_URL.env 中设置。这似乎是一个配置模拟服务器/模拟器的 URL 的地方。

另一个选项可能是 botkit 将模拟器调用为 HTTP 代理,如果您使用的模拟器支持作为 HTTP 代理运行。

【讨论】:

  • 谢谢,这就是我为嘲笑它所做的。它有效:)
猜你喜欢
  • 1970-01-01
  • 2020-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多