从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);
的可能的复制[如何单元提示测试微软机器人对话框(http://stackoverflow.com/questions/42925624/how-to-unit-test-a-microsoft-bot-dialog -with-a-prompt) –
我找不到任何测试UserData的设置和测试。我错过了吗? – dolbyarun