2010-11-10 16 views
5

Recientemente actualizado a 2.5.8 NUnit con el fin de utilizar la nueva funcionalidad TestContext. Esto es por lo que podemos determinar el nombre de la prueba actual con el fin de recuperar un atributo:NullReferenceException cuando se utiliza en TestContext NUnit 2.5.8

private T GetAttribute<T>() where T : class 
{ 
    return Attribute.GetCustomAttribute(GetType().GetMethod(TestContext.CurrentContext.Test.Name), typeof(T)) as T; 
} 

Sin embargo, estamos viendo NullReferenceExceptions al acceder a la TestContext.CurrentContext.Test.Name propiedad, ya que parece que el NUnit es CallContext no está registrado correctamente

Alguien más ha encontrado con este problema, o puede sugerir una forma alternativa de determinar el nombre de la prueba actual de la configuración?

+0

¿Cómo estás ejecutando la prueba? ¿Estás usando un corredor de prueba específico que podría ser el problema? –

+0

está siendo exhibida por el corredor NUnit GUI y el corredor ReSharper. –

Respuesta

0

Esta no es una respuesta a su pregunta, pero me encontré con un problema similar al usar TestDriven.NET's xcopy-deployable NUnit Test Runner para usar NUnit 2.5.7, y al pulsar NullReferenceException porque TestDriven.NET todavía estaba ejecutando las pruebas en 2.5.5 (que se envía con) y no el NUnit al que se hace referencia en mi proyecto.

El problema resultó ser que estaba haciendo referencia a la nunit.framework.dll encuentran en NUnit\NUnit-2.5.7.10213\bin\net-2.0 cuando tenía que estar haciendo referencia a la encontrada en NUnit\NUnit-2.5.7.10213\bin\net-2.0\framework. No tengo ni idea de por qué hay dos copias, pero señalar la DLL correcta marcó la diferencia.

Cuestiones relacionadas