C# 如何使用mstest增加单元测试运行的全局超时

C# 如何使用mstest增加单元测试运行的全局超时,c#,unit-testing,debugging,mstest,C#,Unit Testing,Debugging,Mstest,我们有大量的单元测试,由于VisualStudio2008的性能问题,我们通常使用MsTest从命令行运行测试 当我们想要调试测试时,我们将Visual Studio附加到VSTestHost进程,或者使用debugger.Break()从代码调用调试器。问题是,当以这种方式调试单元测试时,测试会在五分钟后由于超时而退出。对我们来说,在运行单元测试时有这个超时是可以的,但是在调试时我们发现它很烦人,因为五分钟后我们无法继续 我们不想使用Timeout属性,因为我们只需要在调试单元测试时增加超时

我们有大量的单元测试,由于VisualStudio2008的性能问题,我们通常使用MsTest从命令行运行测试

当我们想要调试测试时,我们将Visual Studio附加到VSTestHost进程,或者使用
debugger.Break()
从代码调用调试器。问题是,当以这种方式调试单元测试时,测试会在五分钟后由于超时而退出。对我们来说,在运行单元测试时有这个超时是可以的,但是在调试时我们发现它很烦人,因为五分钟后我们无法继续

我们不想使用Timeout属性,因为我们只需要在调试单元测试时增加超时

我们已尝试使用不同的testrunconfig文件设置:

但没有效果

我们已启用vstesthost.exe的日志记录,并在跟踪文件中找到以下行:

vstesthost.exe:AgentObject:调用清理,超时30000


任何人都可以为我们提供一条线索,告诉我们如何向vstesthost.exe传递一个参数,告诉我们测试运行所需的超时时间?

在搜索跟踪文件中找到的超时消息后,我们发现了这个问题(),MSFT员工回答说Visual Studio 2008中测试代理的超时时间是不可配置的。因此,似乎唯一的方法是更新我们的IDE。

使用VS2017,VSTesthost是可配置的

vstest.console.exe MyTestAssembly.dll -- RunConfiguration.TestSessionTimeout=900000
设置运行测试的超时时间为15分钟(900秒,毫秒)


您可能还需要通过TimeOutAttribute(可以是无限的)设置特定测试的超时。

我不确定此链接是否有帮助,但本文讨论了设置timeouts@TGH,我已查看了您建议的链接,但不幸的是,它仅适用于从2010年开始的Visual Studio版本,我们仍在使用VisualStudio2008