Я знаю, что обычные модульные тесты MS-Test можно распараллелить на многоядерной машине (конечно, с оговорками), указав атрибут parallelTestCount
в файле .testresults
в тестовом решении. Нравится,
<Execution parallelTestCount="1">
<TestTypeSpecific />
<AgentRule name="Execution Agents"></AgentRule>
</Execution>
Тем не менее, у меня есть тест на основе данных, что-то вроде этого, это всего лишь один тест, но входные данные поступают из CSV и прогоняют тысячи записей через < strong>тот же тест.
[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);
}
Поскольку это медленный процесс, я рассматриваю возможность распараллеливания этого модульного теста.
Последовательное перечисление в атрибуте — это просто способ доступа к данным, другой вариант — Random, который по-прежнему является последовательным, а не параллельным.