C# 如果没有设置testsettings文件,为什么VS2013中只使用一个线程?

C# 如果没有设置testsettings文件,为什么VS2013中只使用一个线程?,c#,multithreading,visual-studio,unit-testing,visual-studio-2013,C#,Multithreading,Visual Studio,Unit Testing,Visual Studio 2013,下面给出了包含3个测试的单元测试类。每个测试只将其线程id写入标准输出 [TestClass] public class UnitTest1 { [TestMethod] public void TestMethod1() { Console.WriteLine("thread id: {0}",System.Threading.Thread.CurrentThread.ManagedThreadId); Assert.IsTrue(tru

下面给出了包含3个测试的单元测试类。每个测试只将其线程id写入标准输出

[TestClass]
public class UnitTest1
{
    [TestMethod]
    public void TestMethod1()
    {
        Console.WriteLine("thread id: {0}",System.Threading.Thread.CurrentThread.ManagedThreadId);
        Assert.IsTrue(true);
    }

    [TestMethod]
    public void TestMethod2()
    {
        Console.WriteLine("thread id: {0}", System.Threading.Thread.CurrentThread.ManagedThreadId);
        Assert.IsTrue(true);
    }

    [TestMethod]
    public void TestMethod3()
    {
        Console.WriteLine("thread id: {0}", System.Threading.Thread.CurrentThread.ManagedThreadId);
        Assert.IsTrue(true);
    }
}
如果在解决方案级别上未设置tessettings文件,则所有测试的线程id都将相同。

一旦将testsettings文件设置为解决方案,每个线程的线程id就会不同(因为线程池将加载线程)

这是用于此演示的我的(默认)testsettings文件

<TestSettings
  id="bc3c3610-4c7e-4f77-ad67-748d0f8d07d9"
  name="TestSettings1"
  enableDefaultDataCollectors="false"
  xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
  <Description><!--_locID_text="Description1"-->These are default test settings for a local test run.</Description>
  <Deployment enabled="false" />
</TestSettings>

这些是本地测试运行的默认测试设置。
问题:

  • 如果 testsettings文件未显式设置为解决方案