在启动.Net Unit泰特之前运行项目

z9smfwbn  于 2023-03-13  发布在  .NET
关注(0)|答案(1)|浏览(123)

我有3个项目与.Net 7.0
第一个是REST API,第二个是REST客户端,第三个是单元测试项目。
当我开始单元测试的时候,我想用一个定义好的端口号来启动服务器,然后我的单元测试使用REST客户端来和REST API对话。
如何在单元测试开始之前启动Web服务?

kfgdxczn

kfgdxczn1#

正如评论中提到的,如果你想测试控制器动作中包含的逻辑,你会希望使用integration tests,而不是单元测试。通过集成测试,你可以设置一个WebApplicationFactory,它的工作原理类似于HttpClientFactory。您创建了一个连接到API的客户端,该API允许您模拟请求,就像它们在生产环境中一样,以便测试所有组件的工作方式在一起。
集成测试的设置比较复杂,所以如果您刚刚开始这个项目,我建议您将控制器操作中的逻辑移到一个单独的helper类中,并在这些类上运行单元测试。

相关问题