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?

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top