2012-06-13 9 views
6

¿Hay alguna forma de obtener programáticamente las categorías de prueba seleccionadas mientras se ejecuta una prueba? algo en las líneas de TestContext.Properties ["_ SELECTCATEGORIES"]Obtención de nUnit categorías seleccionadas por programación

básicamente tengo casos de prueba que cargan los datos de prueba de un DB y como tengo muchas pruebas el proyecto está tardando mucho tiempo cargar. Estoy tratando de encontrar una manera de tener los testCaseSources nada que regresan si la categoría no está seleccionada

+0

¿Qué quieres decir con categorías de prueba? –

+0

Me refiero a las categorías seleccionadas en la nunit gui o consola en las categorías incluidas para la ejecución – z0c

Respuesta

2

ACTUALIZADO

No parece haber ningún método sencillo para la identificación o la carga de categorías seleccionadas en un conjunto de prueba NUnit dentro el marco NUnit sí ..

el uso de la reflexión, que tal vez podría escanear la propiedad Categories en las clases decoradas con TestAttribute o TestFixtureAttribute. Al hacer coincidir estas categorías con la (s) que desea cargar, podría filtrar las pruebas que se cargarán antes de cargarlas.

Y luego está la clave TestContext.Test.Properties_CATEGORIES (disponible en NUnit 2.5.7 y posteriores):

[Test] 
[Category("Hello")] 
public void TestCategory() 
{ 
    Assert.IsTrue(((ArrayList)TestContext.CurrentContext.Test.Properties["_CATEGORIES"]).Contains("Hello")); 
} 

un poco más para leer en la clase TestContext se puede encontrar here. Por supuesto, resolver el problema con este enfoque requeriría cargar todo el ensamblaje de prueba y recorrer todos los casos de prueba de antemano, lo cual es obviamente indeseable en su escenario.

+0

No del todo. El ["_CATEGORIES"] devuelve las categorías que decoran la prueba, lo que necesito son las categorías seleccionadas en la nunit gui o consola para ejecutar – z0c

+0

@ z0c Quizás no sea una actualización muy alentadora, pero al menos he intentado adaptar mi respuesta a una mejor responde a tu pregunta –

+0

en el enlace "aquí" de esta respuesta, recibo un mensaje de "Cuenta suspendida". Por favor proporcione un nuevo enlace. – funkymushroom

Cuestiones relacionadas