使用Pact.Net和.Net Core设置Provider基础状态的最佳方法是什么?

时间:2018-03-20 08:46:41

标签: c# .net-core pact pact-net

在Pact的(Ruby)文档中,可以在提供者状态中添加Provider基本状态。我正在使用Pact.Net并使用ProviderStateMiddleware,但我无法弄清楚如何使用此实现设置基本状态。有可能做到这一点和/或有没有人有任何经验设置这个? 提前谢谢!

2 个答案:

答案 0 :(得分:0)

基本状态没有内置功能(我知道 - 维护者Neil Campbell可能会纠正我)。我建议实现一个在每个提供者状态设置调用开始时调用的方法,该方法完全清除数据存储区,然后设置基本状态数据。

答案 1 :(得分:0)

感谢您的询问。我最近开始研究pact-net,并且对指导也很感兴趣。

我发现这个Example Workshop for .Net Core很有帮助。

在示例ProviderMiddleware的基础上,我们添加了以下内容(假设关系数据库带有EF):

private void EnsureBaseState()
{
   _context.Database.EnsureDeleted();
   _context.SaveChanges();
}

private void EnsureSecondState()
{
   EnsureBaseState();

   _context.ExampleItems.Add(new ExampleItem { Id = 1, Name = "sample item" });
   _context.SaveChanges();
}

这是我们当前管理多个状态的方式,其他状态在中间件中称为基本状态。