Sé que las pruebas de unidad de prueba ms regulares se pueden paralelizar en una máquina multi-core (con advertencias, por supuesto) especificando el atributo parallelTestCount en el archivo .testresults en la solución de prueba. De esta manera,¿Cómo se puede paralelizar una prueba unitaria basada en datos en Visual Studio 2010?
<Execution parallelTestCount="1">
<TestTypeSpecific />
<AgentRule name="Execution Agents"></AgentRule>
</Execution>
Sin embargo, tengo una prueba basada en datos, algo como esto, esto es sólo una prueba, pero la entrada viene de un csv y ejecuta 1000s de registros a través de la misma prueba.
[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);
}
Debido a que este es un proceso lento, que estoy mirando paralelización de esta unidad de prueba.
El Sequential enum en el atributo es sólo la forma en que se accede a los datos, la otra opción es aleatoria, que sigue siendo de serie y no en paralelo.
¿Qué idioma estás usando? DO#? –
C#, sí, por supuesto! – Vin
¿Qué versión de .Net estás usando? Además, ¿puede proporcionar algunos detalles sobre cómo se está configurando TestContext? –