Я знаю, что обычные модульные тесты ms-test можно распараллелить на многоядерной машине (с оговорками, конечно), указав атрибут parallelTestCount в файле .testresults в тестовом решении. Вот так
<Execution parallelTestCount="1">
<TestTypeSpecific />
<AgentRule name="Execution Agents"></AgentRule>
</Execution>
Больше на: http://blogs.msdn.com/b/vstsqualitytools/archive/2009/12/01/executing-unit-tests-in-parallel-on-a-multi-cpu-core-machine.aspx
Тем не менее, у меня есть тест на основе данных , что-то вроде этого, это всего лишь один тест, но ввод поступает от CSV и пропускает тысячи записей через Тот же тест.
[DeploymentItem("InputDataRows.csv"), Timeout(37800000), DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\InputDataRow.csv", "InputDataRow#csv", DataAccessMethod.Sequential)]
[TestMethod]
public void RunProcessing()
{
int userId = Convert.ToInt32(TestContext.DataRow[0].ToString());
int connId = Convert.ToInt32(TestContext.DataRow[1].ToString());
string xml = TestHelper.GetDataFromDb(userId, connId);
a = doStuffA(xml);
b = doStuffB(xml);
Assert.IsTrue(a == b);
}
Поскольку это медленный процесс, я смотрю на распараллеливание этого модульного теста.
Последовательное перечисление в атрибуте - это просто способ доступа к данным, другой вариант - Случайный, который все еще последовательный и не параллельный.