C# .net是否为每个测试方法创建实例?

C# .net是否为每个测试方法创建实例?,c#,.net,unit-testing,testing,tdd,C#,.net,Unit Testing,Testing,Tdd,我的问题是关于.net运行方式的测试方法。假设我有一个这样的测试类: [TestClass] public class MyTestClass { [TestMethod] public void Test1() { ... } [TestMethod] public void Test2() { ... } } 问题是.net是否为每个测试方法创建

我的问题是关于.net运行方式的测试方法。假设我有一个这样的测试类:

[TestClass]
public class MyTestClass
{
    [TestMethod]
    public void Test1()
        {
            ...
        }

    [TestMethod]
    public void Test2()
        {
            ...
        }
}
问题是.net是否为每个测试方法创建了一个实例?或者它只创建一个MyTestClass实例,并在同一实例上运行所有测试方法?

MSTest在执行过程中分别实例化每个测试方法的类,每个实例化发生在单独的线程上


您可以为此编写测试:)例如,记录消息或在其所在的构造函数中设置断点。大约一年前,我也找过同样的问题,但现在无法为您提供证明链接。MS Test为测试之间的隔离创建新实例。这意味着您可以通过给类成员赋值来在测试类中创建状态,并确保没有任何测试将获得其他测试设置的值。只要记住不要使用静态,除非您想在所有测试中共享它。