首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何自动测试QnA制造商Bot (Bot V4,C#)?

如何自动测试QnA制造商Bot (Bot V4,C#)?
EN

Stack Overflow用户
提问于 2021-03-19 01:16:01
回答 1查看 133关注 0票数 1

我正在构建基于QnA制造商和C#上的V4的机器人。我有几个知识库,我想验证机器人对我的问题做出了正确的回答。有办法自动测试这种类型的机器人吗?

是否有可能在Azure管道中实现这一自动化测试过程?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-19 16:13:25

我不能专门帮助您使用C#,但是我正在使用nodejs进行这种类型的测试,所以这可能会有所帮助。我回答了你们中的另一个问题here,在这里我给出了我的特定nodejs测试代码。这个答案将更多地关注自动化测试和使用Azure管道来执行它的方法。

我使用mocha作为我的测试框架,但是如果C#中有类似的东西,这个方法应该可以工作。这就是我的知识不完整的地方;我不知道C#等同于npm test是什么。

无论如何,我希望我在nodejs中的方法可以在C#中转换。我想提一下,实际上有两种不同的方法可以用来实现您的测试。

  1. 创建一个测试机器人适配器并模拟整个bot,具体测试识别语音,将其发送给QnA Maker,根据需要处理响应,并将响应发送给用户(并验证响应内容)。

如果您关心的是bot正确地处理活动、在正确的时间调用QnA Maker连接器、正确解析响应和获得正确的答案,请使用选项1。如果您只想确保您的QnA服务正常运行并返回预期的结果,您可以使用方法2。我个人使用方法1,但我模拟all服务响应(使用npm库中的nock ),所以我根本不测试QnA Maker,只测试bot。在管道中进行活动测试(如果测试确定是否创建了版本)可能会有问题。

如果您检查您的other question上的答案,这将为您提供选项1所需的方法。对于选项2,我建议使用Azure函数,只需编写您自己的测试,向QnA Maker发出REST调用并验证结果。

这两种测试都可以在Azure管道中进行。对于nodejs/Option1,我只运行npm test命令,该命令被配置为执行我的所有测试文件。如果任何测试失败,管道就会失败,并且(根据我的配置)不会创建任何版本。我不知道C#的等价物是什么。对于选项2,老实说,我甚至不会担心将它放到管道中,因为它独立于您的bot代码。只需在Azure函数中设置测试计划(如果使用的话)或任意执行触发器,并具有一些可操作的输出即可。例如,我在Azure函数中有一个实时集成测试器,这是一个类似的概念,它根据结果和状态的变化发送服务下行和服务恢复消息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66701297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档