我正在寻找一个示例,以为V4 SDK的机器人生成器对话框编写单元测试用例。我遇到了一个博客,但这是针对v3(https://www.microsoft.com/developerblog/2017/01/20/unit-testing-for-bot-applications/)的 如果我需要对对话框进行对话流的单元测试,是否有任何示例或模式可以遵循?我已经研究了使用新的仿真器和脚本文件的选项,但是,这更多地是关于功能流程和设计者来研究未真正测试对话框的模型。
我遇到了Test Adapter,但是试图找到如何使用本地机器人实例在页面上运行示例。
答案 0 :(得分:1)
您可以找到Enterprise Bot模板的单元测试的C#和TS版本的示例。
它是用mocha编写的,它是用于为botbuilder-js存储库本身编写单元测试的测试框架。
下面是Intro Card
对话框中的Main
测试之一。
describe("Intro Card", function () {
it("Send conversationUpdate and verify card is received", function (done) {
const testAdapter = botTestBase.getTestAdapter();
const flow = testAdapter
.send({
type: "conversationUpdate",
membersAdded: [
{
id: "1",
name: "Bot"
}
],
channelId: "emulator",
recipient: {
id: "1"
}
})
.assertReply(function (activity, description) {
assert.equal(activity.attachments[0].contentType, 'application/vnd.microsoft.card.adaptive');
assert.deepEqual(activity.attachments[0].content, introJson);
})
testNock.resolveWithMocks('mainDialog_introCard_response', done, flow);
});
});
请记住,模板团队正在积极构建Virtual Assistant和Enterprise Bot,因此模式可能会改变,但这就是他们现在发布的内容:)