C# 简单任务库问题

C# 简单任务库问题,c#,unit-testing,concurrency,C#,Unit Testing,Concurrency,我不熟悉任务库。我想并行运行一些单元测试,并使用.NET4.0中的任务库测试并发性问题 正如您所知,TestMethods是无参数的,不返回任何内容(void),因此我只需要通过N线程并发运行一个测试 [TestMethod()] void MyTest() { // Do Something } 它可以由传统线程完成,但希望使用更健壮和更受管理的技术,因此: 如何使用taskbrary同时运行N个数的MyTest() 我想知道为什么并发单元测试没有内置属性 或者,如果要通过参数更改并

我不熟悉任务库。我想并行运行一些单元测试,并使用.NET4.0中的任务库测试并发性问题

正如您所知,
TestMethod
s是无参数的,不返回任何内容(
void
),因此我只需要通过
N
线程并发运行一个测试

[TestMethod()]
void MyTest()
{
    // Do Something
}
它可以由传统线程完成,但希望使用更健壮和更受管理的技术,因此:

如何使用
taskbrary
同时运行
N
个数的
MyTest()

我想知道为什么并发单元测试没有内置属性

或者,如果要通过参数更改并发测试的数量

[TestMethod()]
void MyTest_4_Times()
{
    var n = 4;
    Task.WaitAll(Enumerable.Range(0, n).Select(_ => Task.Factory.StartNew(MyTest)).ToArray());
}

通常,并发测试比仅仅运行一大堆测试要复杂得多。您想测试显式计时方案等。一个简单的属性不会创建一个并发测试框架。@Albin:但对我来说,拥有这样的属性还是有意义的。很多时候,我看到人们使用循环不止一次地运行一个测试。
[TestMethod()]
void MyTest_4_Times()
{
    var n = 4;
    Task.WaitAll(Enumerable.Range(0, n).Select(_ => Task.Factory.StartNew(MyTest)).ToArray());
}