2010-11-10 4 views
5

Récemment mis à niveau vers NUnit 2.5.8 afin d'utiliser la nouvelle fonctionnalité TestContext. Il en est ainsi que nous pouvons déterminer le nom du test en cours afin de récupérer un attribut:NullReferenceException lors de l'utilisation de TestContext dans NUnit 2.5.8

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

Cependant, nous voyons NullReferenceExceptions lors de l'accès au TestContext.CurrentContext.Test.Name de la propriété car il semble que la NUnit CallContext est n'étant pas enregistré correctement.

Quelqu'un d'autre a-t-il rencontré ce problème ou peut-il suggérer un autre moyen de déterminer le nom du test actuel à partir du SetUp?

+0

Comment faites-vous le test? Utilisez-vous un coureur d'essai spécifique qui pourrait être le problème? –

+0

Il est exposé par le coureur de NUnit GUI et le coureur de Resharper. –

Répondre

0

Ce n'est pas une réponse à votre question, mais j'ai rencontré un problème similaire en utilisant TestDriven.NET's xcopy-deployable NUnit Test Runner pour utiliser NUnit 2.5.7, et en tapant NullReferenceException parce que TestDriven.NET exécutait toujours les tests sous 2.5.5 (qui il est livré avec) et non le NUnit mon projet référencé.

Le problème s'est avéré être que je faisais référence au nunit.framework.dll trouvé dans NUnit\NUnit-2.5.7.10213\bin\net-2.0 alors que je devais faire référence à celui trouvé dans NUnit\NUnit-2.5.7.10213\bin\net-2.0\framework. Pourquoi il y a deux copies dont je n'ai aucune idée, mais pointer vers la bonne DLL a fait toute la différence.

Questions connexes