Как написать модульные тесты для диалогов Botj nodejs v4 - PullRequest
0 голосов
/ 11 марта 2019

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

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

1 Ответ

1 голос
/ 15 марта 2019

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...