Как написать модульные тесты для диалогов Bot Framework nodejs v4

Я ищу пример для написания модульных тестов для диалогов конструктора ботов для V4 Sdk. Я наткнулся на блог, но он предназначен для v3 (https://www.microsoft.com/developerblog/2017/01/20/unit-testing-for-bot-applications/) Есть ли какие-либо примеры или шаблоны, которым нужно следовать, если мне нужно, чтобы диалоги были едиными? проверено на поток разговора? Я рассмотрел вариант использования нового эмулятора и файлов транскрипции, но это больше касается функционального потока и дизайнеров, которые смотрят на макеты, где диалоги на самом деле не тестируются.

Я наткнулся на Тестовый адаптер, но пытаюсь найти, как мне запустить пример на странице с моим локальным экземпляром бота.


person vijay    schedule 11.03.2019    source источник


Ответы (1)


Вы можете найти примеры как C #, так и TS версий модульных тестов для шаблона Enterprise Bot.

Ссылка на тесты узлов в Enterprise Бот

Он написан на языке 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, поэтому вполне возможно, что шаблон может измениться, но это то, что они опубликовали прямо сейчас :)

person Zeryth    schedule 15.03.2019