给出以下单元测试类,其中包含3个测试。每个测试只是将其线程ID写入stdout。
[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>
问题: