Con MSTest, puede simplemente crear dos proyectos de prueba (ensamblados) y solo especificar uno en la configuración de compilación para usarlo para la prueba. En MSBuild, este era el camino a seguir. Para las nuevas definiciones de construcción basada en WF, que actualmente no tengo una muestra que nos ocupa:
<ItemGroup>
<!-- TEST ARGUMENTS
If the RunTest property is set to true then the following test arguments will be used to run
tests. Tests can be run by specifying one or more test lists and/or one or more test containers.
To run tests using test lists, add MetaDataFile items and associated TestLists here. Paths can
be server paths or local paths, but server paths relative to the location of this file are highly
recommended:
<MetaDataFile Include="$(BuildProjectFolderPath)/HelloWorld/HelloWorld.vsmdi">
<TestList>BVT1;BVT2</TestList>
</MetaDataFile>
To run tests using test containers, add TestContainer items here:
<TestContainer Include="$(OutDir)\AutomatedBuildTests.dll" />
<TestContainer Include="$(SolutionRoot)\TestProject\WebTest1.webtest" />
<TestContainer Include="$(SolutionRoot)\TestProject\LoadTest1.loadtest" />
Use %2a instead of * and %3f instead of ? to prevent expansion before test assemblies are built
-->
</ItemGroup>
<PropertyGroup>
<RunConfigFile>$(SolutionRoot)\LocalTestRun.testrunconfig</RunConfigFile>
</PropertyGroup>
Consejo: Para utilizar una definición genérica de construcción, nombramos todos nuestros proyectos de prueba "AutomatedBuildTests", es decir, no hay diferencia de solución. Por lo tanto, la definición de compilación se puede incluir en cualquier definición de construcción existente (o incluso ser una común) que siempre ejecuta el conjunto correcto de pruebas. Sería una tarea fácil anteponer una verificación "si existe" para permitir que una definición de compilación ejecute solo pruebas cuando hay un ensamblaje de prueba presente. No usamos esto para obtener errores de compilación cuando no se encuentra ningún ensamblaje de prueba, ya que queremos pruebas con todas las compilaciones que usan esta definición.
¿Qué es su Tester? MSTest, NUnit, algo más (?) – pantelif