【问题标题】:Setup UserData for unit testing为单元测试设置 UserData
【发布时间】:2017-08-31 11:50:12
【问题描述】:

如何在上下文中设置 UserData 以进行单元测试?

        var context = new Mock<IDialogContext>();
        context.Setup(c => c.Activity).Returns(() => new Activity());
        context.Setup(c => c.UserData).Returns(() => ?);

我应该使用 BotData 吗?

【问题讨论】:

标签: unit-testing botframework


【解决方案1】:

使用 BotBuilder 测试中的“DialogTestBase”类,这对我有用。

        IBotDataBag dataBag;
        var container = Build(Options.LastWriteWinsCachingBotDataStore);
        var msg = MakeTestMessage();
        using (var scope = DialogModule.BeginLifetimeScope(container, msg))
        {
            var botData = scope.Resolve<IBotData>();
            await botData.LoadAsync(default(CancellationToken));
            dataBag = scope.Resolve<Func<IBotDataBag>>()();
        }

        var context = new Mock<IDialogContext>();
        context.Setup(c => c.UserData).Returns(() => dataBag);
        context.Object.UserData.SetValue(AppConstants.HelpType, helpType);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 2014-11-25
    • 2022-01-23
    • 1970-01-01
    • 2016-03-29
    • 2014-03-02
    • 1970-01-01
    相关资源
    最近更新 更多