C# TestClass中的TestMethods是并行执行的吗?

C# TestClass中的TestMethods是并行执行的吗?,c#,unit-testing,C#,Unit Testing,我有一个TestClass,其中包含一个成员变量(正在测试的类),该变量在设置方法中用[Testinitialize]attrib初始化。现在,我用不同的方法对这个成员进行了多个测试,并用[TestMethod]attrib标记 每个方法都会稍微修改成员对象以测试各种场景 我的问题是,测试类中的测试方法是否可以并行执行 如果它们根据运行程序并行运行(我说的并行是指在单独的线程中),那么在测试类中只有一个对象是不正确的?对象的状态可能会在[TestMethod]中更改,并最终处于不良状态?显然,V

我有一个
TestClass
,其中包含一个成员变量(正在测试的类),该变量在设置方法中用
[Testinitialize]
attrib初始化。现在,我用不同的方法对这个成员进行了多个测试,并用
[TestMethod]
attrib标记

每个方法都会稍微修改成员对象以测试各种场景

我的问题是,测试类中的测试方法是否可以并行执行

如果它们根据运行程序并行运行(我说的并行是指在单独的线程中),那么在测试类中只有一个对象是不正确的?对象的状态可能会在
[TestMethod]
中更改,并最终处于不良状态?

显然,Visual Studio 2015现在支持并行单元测试,我没有尝试过,因此我真的不理解这一点的含义


TestInitialize
是为每个测试调用的,有一个
ClassInitialize
属性,它将为整个测试类调用一次,而不管计划执行哪些测试。

取决于您的测试运行程序,您使用哪一个?是visual studio或其他第三方运行程序内置的吗?我目前正在visual studio上运行它。它最终将成为一个基于云的解决方案的一部分,用于将任何拉取请求传送到我的主分支。用一些问题更新了问题测试应该是独立的,你应该像并行运行一样编写它们。每个方法都会稍微修改成员对象…-那你现在怎么控制呢?(所有)测试必须按特定顺序运行吗?每个测试方法测试不同的场景。这是通过将参数设置为不同的值来实现的。太棒了+1给你。祝你一切顺利;)