【问题标题】:How to write a unit tests for Bot Framework nodejs v4 dialogs如何为 Bot Framework nodejs v4 对话框编写单元测试
【发布时间】:2019-03-16 04:51:42
【问题描述】:

我正在寻找一个示例来为 V4 Sdk 的机器人构建器对话框编写单元测试用例。我遇到了一个博客,但那是针对 v3 (https://www.microsoft.com/developerblog/2017/01/20/unit-testing-for-bot-applications/) 如果我需要对对话流进行单元测试,是否有任何示例或模式可以遵循?我已经研究过使用新的模拟器和脚本文件的选项,但是,这更多的是关于功能流程和设计人员查看未真正测试对话的模型。

我遇到了Test Adapter,但我试图找到如何使用本地机器人实例从页面运行示例。

【问题讨论】:

    标签: unit-testing botframework azure-cognitive-services


    【解决方案1】:

    您可以找到 Enterprise Bot 模板的 C# 和 TS 版本的单元测试示例。

    Link to Node tests in Enterprise Bot

    它是用 mocha 编写的,与用于为 botbuilder-js 存储库本身编写单元测试的测试框架相同。

    这是Main 对话框中Intro Card 测试的一个小sn-p。

    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);
        });
    });
    

    请记住,模板团队正在积极构建虚拟助手和企业机器人,因此模式可能会改变,但这是他们现在发布的内容:)

    【讨论】:

      猜你喜欢
      • 2019-07-27
      • 1970-01-01
      • 1970-01-01
      • 2014-09-14
      • 2020-02-18
      • 2017-08-13
      • 1970-01-01
      • 2020-09-28
      • 1970-01-01
      相关资源
      最近更新 更多