将 NUnit 3 测试移至新项目导致性能不佳

问题描述 投票:0回答:1

dotnet 7 项目的设置:

  • <namespace>.Api
  • <namespace>.Api.Test
  • 其他一些

我从

<namespace>.Api.Test
项目中的集成测试开始。 集成测试基本上启动整个应用程序 (
<namespace>.Api
),创建
HttpClient
并从
<namespace>.Api
项目与 REST Api 进行通信。

在取得初步良好结果后,我决定创建一个自己的项目来进行集成测试:

  • <namespace>.Api.Integration
    ...新项目具有与
    <namespace>.Api.Test
    相同的包。

将 VS 2022 中的相关类拖到

<namespace>Api.Integration
(复制文件),将测试类+方法重命名为一些唯一值。

现在,当开始new版本测试时,应用程序启动需要2分钟,而从old

<namespace>.Api.Test
启动只需要7秒。 在启动期间,一系列数据库操作按顺序执行(并记录)。在这两种情况下,都会针对相同的新鲜数据库和本地数据库执行相同的数据库操作。

测试中发生的情况看起来非常好。

您知道这里可能出现什么问题吗?

已经尝试过:

  • VS更新
  • 清除 bin/obj 文件夹
  • 将 Nunit 更新至 3.14.0,将 NUnit3TestAdapter 更新至 4.5.0
  • 使用
    dotnet test
    具有相同的结果
  • 禁用 Windows 防火墙(在托管 REST Api 时需要权限)
.net-core nunit integration-testing nunit-3.0
1个回答
0
投票

我自己发现了这个问题:
我管理该服务器应用程序,从专用线程中的集成测试开始,启动另一个线程,该线程陷入无限循环中搜索硬盘上的文件而没有任何中断。
看来这个循环消耗了太多的CPU,从而减慢了整个系统的速度。

© www.soinside.com 2019 - 2024. All rights reserved.