【发布时间】:2018-03-20 08:46:41
【问题描述】:
在 Pact 的 (Ruby) 文档中,可以在提供者状态中添加提供者基本状态。我正在使用 Pact.Net 并使用 ProviderStateMiddleware,但我不知道如何使用此实现设置基本状态。是否有可能做到这一点和/或有没有人有任何设置的经验? 提前致谢!
【问题讨论】:
标签: c# .net-core pact pact-net
在 Pact 的 (Ruby) 文档中,可以在提供者状态中添加提供者基本状态。我正在使用 Pact.Net 并使用 ProviderStateMiddleware,但我不知道如何使用此实现设置基本状态。是否有可能做到这一点和/或有没有人有任何设置的经验? 提前致谢!
【问题讨论】:
标签: c# .net-core pact pact-net
基本状态没有内置功能(据我所知 - 维护者 Neil Campbell 可能会纠正我)。我建议实现一个在每个提供程序状态设置调用开始时调用的方法,该方法完全清除数据存储,然后设置基本状态数据。
【讨论】:
感谢您的提问。最近开始研究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();
}
这就是我们当前管理多个状态的方式,附加状态调用中间件中的基本状态。
【讨论】: