2017-04-05 12 views
1

ユニットテスト用のコンテキスト内でのユーザデータの設定方法を教えてください。ユニットテスト用のユーザデータの設定

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

BotDataを使用しますか?

+0

(http://stackoverflow.com/questions/42925624/how-to-unit-test-a-microsoft-bot-dialog [どのようにユニットテストプロンプトで、Microsoftのボットダイアログをする]の可能重複-with-a-prompt) –

+0

UserDataが設定されテストされたテストは見つかりませんでした。私はそれを逃していますか? – dolbyarun

答えて

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); 
関連する問題