Botframework 我如何用c#为Microsoft Bot framework V4编写一个简单的单元测试用例,因为它现在使用.netcore
我必须为BotFrameworkV4简单的echo方法编写单元测试用例,但我找不到一种模拟bot的方法。实际上我不知道从哪里开始。我已经阅读了在谷歌上找到的所有与此相关的文档,但没有一个在代码级别上进行解释。一个具体的例子会很有帮助Botframework 我如何用c#为Microsoft Bot framework V4编写一个简单的单元测试用例,因为它现在使用.netcore,botframework,vs-unit-testing-framework,Botframework,Vs Unit Testing Framework,我必须为BotFrameworkV4简单的echo方法编写单元测试用例,但我找不到一种模拟bot的方法。实际上我不知道从哪里开始。我已经阅读了在谷歌上找到的所有与此相关的文档,但没有一个在代码级别上进行解释。一个具体的例子会很有帮助 [TestMethod] public async Task CreatingAGoodContact() { var convoState = new ConversationState(new MemoryStorage())
[TestMethod]
public async Task CreatingAGoodContact()
{
var convoState = new ConversationState(new MemoryStorage());
var adapter = new TestAdapter()
.Use(new AutoSaveStateMiddleware(convoState));
var dialogState = convoState.CreateProperty<DialogState>
("dialogState");
var dialogs = new DialogSet(dialogState);
dialogs.Add(CreateWaterfall());
await new TestFlow(adapter, async (turnContext,
cancellationToken) =>
{
var dc = await dialogs.CreateContextAsync(turnContext,
cancellationToken);
// await dc.ContinueDialogAsync(cancellationToken);
if (!turnContext.Responded)
{
await dc.BeginDialogAsync("test-waterfall", null,
cancellationToken);
}
})
.Send("Say something to start test")
.AssertReply("What is their first name?")
}
[TestMethod]
创建GoodContact()的公共异步任务
{
var convorate=新会话状态(new MemoryStorage());
var adapter=newtestadapter()
.使用(新的AutoSaveState中间件(convoState));
var dialogState=convoState.CreateProperty
(“对话国”);
var dialogs=新的DialogSet(dialogState);
Add(create瀑布());
等待新的测试流(适配器、异步(turnContext、,
取消令牌)=>
{
var dc=await dialogs.CreateContextAsync(turnContext,
取消令牌);
//等待dc.ContinueDialogAsync(取消令牌);
如果(!turnContext.responsed)
{
等待dc.BeginDialogAsync(“测试瀑布”,空,
取消令牌);
}
})
.Send(“说点什么开始测试”)
.AssertReply(“他们的名字是什么?”)
}
您需要调用.StartTestAsync()来启动测试的执行