nunit - travis - Ignorar Test o TestFixture basado en condición
teamcity vs jenkins (3)
NUnit también le da la opción de proporcionar un atributo de Categoría. Dependiendo de cómo inicie sus pruebas, puede ser apropiado marcar todas las pruebas que requieren el simulador con una categoría conocida (por ejemplo, [Categoría ("Software de simulación de necesidades")]). Luego, desde la NUnit Gui puede optar por excluir ciertas categorías. Puede hacer lo mismo desde el corredor de línea de comandos NUnit (especifique / excluya: RequiereSimulationSoftware si corresponde).
Espero que esto (o la respuesta anterior de tvanfosson) ayude.
Tenemos algunas pruebas de integración en nuestra solución. Para ejecutar estas pruebas, el software de simulación debe estar instalado en la PC del desarrollador. Sin embargo, este software no está instalado en todas las PC de desarrollador. Si el software de simulación no está instalado, estas pruebas deberían omitirse de lo contrario ==> NullRefException.
Ahora estoy buscando una manera de hacer un "ignorado condicional" para pruebas / fijaciones de prueba. Algo como
if (simulationFilesExist) do testfixture else skip testfixture
NUnit da algunas cosas útiles como ignorar y explícito, pero eso no calma lo que necesito.
Gracias
Use algún código en su método de configuración de prueba o dispositivo que detecte si el software de simulación está instalado o no y llama a Assert.Ignore() si no lo está.
[SetUp]
public void TestSetUp()
{
if (!TestHelper.SimulationFilesExist())
{
Assert.Ignore( "Simulation files are not installed. Omitting." );
}
}
o
[TestFixtureSetUp]
public void FixtureSetUp()
{
if (!TestHelper.SimulationFilesExist())
{
Assert.Ignore( "Simulation files are not installed. Omitting fixture." );
}
}
[SetUp]
public void TestSetUp()
{
if (!TestHelper.SimulationFilesExist())
{
Assert.Ignore( "Simulation files are not installed. Omitting." );
}
}
utiliza este tipo de condición en el TestFixtureSet Attribute
. Pero si este dispositivo tiene una prueba parametrizada, entonces, si desea ignorar la prueba parametrizada de este dispositivo, entonces esto va en un bucle infinito y su prueba se bloqueará. Entonces usas el atributo de configuración mejor para la condición if.