我正在尝试对我们的提供商项目实施 PactNet 合同测试。然而问题是,我们使用的是 Minimal API,因此我们没有将 Startup.cs 和 Program.cs 类全部整合到一个 Program.cs 中。
这提出了一个问题,因为以前我可以运行Host.CreateDefaultBuilder
并传递给Startup
类,如PactNet https://github.com/pact-foundation/pact-net样品。我在 SO 上遇到过的所有做类似事情的例子TestServer
or WebApplicationFactory
,这在这种情况下不适用,因为它们启动了内存服务器,并且我需要一个在真正的 TCP 套接字上运行的服务器,以便 PactNets Rust 内部可以与其通信。
我设法找到的唯一解决方案是手动运行提供程序dotnet run
然而,这感觉很黑客,我更喜欢以编程方式完成它,就像以前可以使用的那样Host.CreateDefaultBuilder
.
您可以尝试的事情:
public class Program
{
public static void Main(string[] args)
{
// ... everything from your Program.cs
}
}
- 将顶级语句文件的部分提取到方法中并在手动创建的构建器上调用它们(几乎与保留
Startup
文件并在新设置中的构建器和应用程序的适当部分调用它的方法)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)