【发布时间】:2017-03-10 15:20:00
【问题描述】:
背景
我编写了一个测试,以确保应该启动我的 saga 的命令有效地创建了 saga,并且它的处理程序代码可以被执行:
[Fact]
public async Task Can_Start_Saga_And_Execute_Handler()
{
var result = await Scenario
.Define<Context>()
.WithEndpoint<Endpoint>(b => b.When(session =>
{
return session.SendLocal(new SagaStarter());
})
)
.Done(context => context.IsRequested)
.Run(Testing.MaxRunTime);
result.IsRequested.ShouldBeTrue();
}
上下文在哪里:
class Context : ScenarioContext
{
public bool IsRequested { get; set; }
}
所以
如果我的 saga 定义中有这样的处理程序:
public async Task Handle(SagaStarter message, IMessageHandlerContext context)
{
await StuffToDo();
}
我怎样才能确保
IsRequested属性,定义在Context,在传奇中设置为 true?
【问题讨论】:
标签: c# .net nservicebus xunit acceptance-testing