.net 有没有办法让VisualStudio2010在同一线程上运行所有测试?

.net 有没有办法让VisualStudio2010在同一线程上运行所有测试?,.net,visual-studio,unit-testing,com,clr,.net,Visual Studio,Unit Testing,Com,Clr,即使VisualStudio2010没有在多个并行线程中运行测试,它仍然使用不同的线程来运行不同的测试方法。它使用一个线程运行一个测试,然后切换到另一个线程运行另一个测试。它继续在每个测试方法的线程之间切换。通过在不同的测试中查询线程ID,可以轻松地对其进行测试 我正在尝试编写集成测试来初始化使用COM对象的实际应用程序。这些COM对象必须仅在STA内存模型中使用,并且没有可用于从其他线程调用它们的代理/存根封送器 应用程序的COM对象在第一次测试期间在第一次测试使用的线程上初始化。然后,其他测

即使VisualStudio2010没有在多个并行线程中运行测试,它仍然使用不同的线程来运行不同的测试方法。它使用一个线程运行一个测试,然后切换到另一个线程运行另一个测试。它继续在每个测试方法的线程之间切换。通过在不同的测试中查询线程ID,可以轻松地对其进行测试

我正在尝试编写集成测试来初始化使用COM对象的实际应用程序。这些COM对象必须仅在STA内存模型中使用,并且没有可用于从其他线程调用它们的代理/存根封送器

应用程序的COM对象在第一次测试期间在第一次测试使用的线程上初始化。然后,其他测试对它们的任何调用都会失败,因为它们是从不同的线程调用它们的。它抛出InvalidComObjectException,并带有“无法使用已与其基础RCW分离的COM对象”,因为它无法访问位于其他STA单元且没有代理/存根封送器的COM对象


使Visual Studio在同一线程上运行所有测试将解决一个问题,因为所有COM对象都将在同一个STA单元内的同一线程上初始化和使用。

您可以尝试使用它进行此特定测试。

这将很难做到,因为我们已经使用VisualStudio默认框架编写了许多测试。将它们全部移植到一个新的框架将是昂贵的。同时使用两个框架的吸引力甚至更低。我真的很想找到一个基于VisualStudio原生框架的解决方案。