J'utilise Nunit 2.5.9.10348 et j'essaie d'extraire le nom de test actuel dans l'événement de la déchirure afin que je puisse attribuer un nom de test ScreenGrab, mais il est toujours nul (voir l'image ci-jointe). La variable privée _Context a le testName mais ce n'est pas utile pour moi! P>
Quelqu'un a-t-il eu du succès à l'aide de ce nouveau TestContext fonctionnalité ( de 2.5.7). P>
p>
3 Réponses :
J'ai eu le même problème. Il s'est produit quand dans une méthode de démolition, j'ai exécuté la méthode, qui devait réellement faire la déchirure
[TearDown]
public void CleanUp()
{
TestContext.CurrentContext.Test.FullName; //!=null
someClassInstance.DoTearDown();
}
class SomeClass
{
public void DoTearDown()
{
TestContext.CurrentContext.Test.FullName; //==null
}
}
de votre capture d'écran, je vois que _Context a des clés "TestName" et "Propriétés". Mais TestAdapter recherche des clés "Test.name" pour le nom et "Test.properties" pour les propriétés. Donc, il y a quelque chose qui ne va pas avec l'initialisation TestContext (je pense que les données erronées ont été mises à distance. Messaging.callContext). P>
Après une petite enquête (voir Commentaires): Les tests de Nunit doivent être exécutés par Nunit Testig Environment pour que ce contexte soit disponible. P>
Essayé cela - pas de joie. Cependant, ce que j'ai remarqué, c'est que le nom de test n'est que NULL dans le débogueur. Les mêmes tests fonctionnant à l'intérieur de la console de TeamCity ou de la Nunit Gui Sortent le nom du test.
Je ne savais pas que vous exécutez des tests sans interface graphique. Et cela est censé être la raison - je pense que CallContext est initialisé par l'environnement de test. Si vous attachez le débogueur à Nunit GUI, vous pouvez voir CallContext est initialisé correctement.
Oui, j'ai fait une petite enquête - CallContext est initialisée lors de l'exécution des tests par Nunit (pas par un plugin à Visual Studión). Il y a une méthode Nunit.core.TestMethod.RunestExtext () qui définit les informations de contexte. Donc, sans exécuter cela, le contexte sera vide.
même problème avec R # Test Runner. Il suffit de télécharger des sources de Nunit et a ajouté une solution de contournement dans TestAdapter pour le faire fonctionner avec R #
public string Name
{
get
{
return (_context["Test.Name"] ?? _context["TestName"]) as string;
}
}
Libération Build (en ligne depuis quelques semaines) dl.dropbox.com/u/ 9569672 / Dexter / nunit.framework.dll