gpt4 book ai didi

unit-testing - 在VS2015中运行C#单元测试时的延迟非常长

转载 作者:行者123 更新时间:2023-12-03 13:37:15 26 4
gpt4 key购买 nike

在VS2015中运行单元测试时,我有一个很长的延迟(大约1分钟!甚至更多)。即使运行单个测试,我也会在“测试资源管理器”的顶​​部看到进度条,它会流动大约一分钟,然后我会得到测试结果。报告的测试运行时符合预期-非常小,只有几毫秒。

我的问题是-我该如何调试?在测试实际开始运行之前,我如何看待这一刻的情况?

最佳答案

一分钟是很长的时间,什么也没发生。在运行任何测试之前,必须进行很多启动过程(例如,需要加载所有程序集及其依赖项)。如果您正在运行单个测试或在套件中运行所有测试,则命中率通常是相同的。
如果您在“测试”输出窗口中查看,您将更好地了解实际发生的情况以及运行测试所花费的实际时间。例如,在我的系统上,运行一个测试显示的开销与运行49个测试的开销类似。

==========运行测试完成:1次运行(0:00:01.0416253)===========
==========运行测试完成:49运行(0:00:01.9156121)===========

有很多事情可以降低程序集的加载速度,例如静态构造函数。我倾向于从创建一个没有依赖项的新测试项目开始,以验证它不会出现同样的长时间延迟问题,从而使您知道这不仅仅是您的机器。然后,我将添加现有测试项目的依赖项,一次添加一个依赖项,以查看是否添加特定的依赖项会触发延迟...然后,我将查看该项目以查看是否发生了任何事情,例如静态的试图连接到数据库/建立网络连接的构造函数。
也许还应该尝试调试测试,但是要确保已打开“当引发异常时中断”(如果像失败的数据库连接那样导致速度变慢,则很有可能引发异常)作为该过程的一部分)。

关于unit-testing - 在VS2015中运行C#单元测试时的延迟非常长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35115180/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com