Peut-on accéder à TestContext dans une méthode AssemblyCleanup?
-
22-07-2019 - |
Question
L'espace de noms UnitTesting de Microsoft ( Microsoft.VisualStudio.TestTools.UnitTesting
) contient les attributs AssemblyInitialize
et AssemblyCleanup
que vous pouvez appliquer aux méthodes statiques et ils seront appelés avant et après tous les tests, respectivement.
[AssemblyInitialize]
static public void AssemblyInitialize(TestContext testCtx)
{
// allocate resources
}
[AssemblyCleanup]
static public void AssemblyCleanup()
{
// free resources
}
Ma question: Est-il possible et sûr d'accéder au TestContext
dans AssemblyCleanup ()
? Sinon, le stockage des références de ressources en tant que membres statiques est-il une alternative raisonnable ou cela pourrait-il également poser problème?
De plus / éventuellement: quel est le raisonnement derrière pas le passage d'une référence au TestContext
aux méthodes de nettoyage?
La solution
J'accède à une propriété statique de la même classe et elle semble bien fonctionner. Je mettrai à jour cette réponse si je rencontre des problèmes. Je ne ne suis pas , cependant, en accédant à TestContext
, donc je suis curieux de savoir si cela fonctionnerait aussi.
Autres conseils
Vous ne pouvez pas transmettre de paramètres à la méthode AssemblyCleanup. Voici l'erreur si vous essayez de le faire:
Message de résultat: Méthode SomeNamespace.TestDatabaseInitializer.AssemblyCleanup a tort Signature. La méthode doit être statique, publique, ne renvoie pas de valeur et ne doit prendre aucun paramètre.