我一直在.NET 5、.NET Core 3.1和.NET Core 2.1中使用WebApplicationFactory进行集成测试,一切都很正常。
我只需使用以下命令创建我的项目:
dotnet new webapi
然后我看到一个带有启动类的 Web API 项目。
接着我创建了一个工厂类的实例:
private readonly WebApplicationFactory<Startup> factory = new WebApplicationFactory<Startup>();
WebApplicationFactory类是我非常喜欢的东西。它使编写集成测试变得轻松。我非常喜欢它。Microsoft文档也将其用于.NET 6。
然而,在使用.NET 6时,我如何确保我的代码编译通过?
上述命令行语句:
dotnet new webapi
导致项目能正常工作但却没有Startup类(安装了.NET 6 SDK)......现在我的测试由于一个原因无法编译:Startup类不存在。
如何解决?我很难想象,因为WebApplicationFactory<Startup>
不再编译,就不能再写集成测试了。但现在这是我需要处理的现实。我该如何解决这个问题?我期待着能够使用WebApplicationFactory
类并继续编写集成测试。但是怎么做呢?
WebApplicationFactory<Program>
。 - Panagiotis KanavosInternalsVisibleTo
吗? - Panagiotis Kanavos