Maison > développement back-end > C++ > Comment puis-je déterminer de manière fiable le chemin d'assemblage pour les tests unitaires?

Comment puis-je déterminer de manière fiable le chemin d'assemblage pour les tests unitaires?

Linda Hamilton
Libérer: 2025-01-31 23:06:11
original
210 Les gens l'ont consulté

How Can I Reliably Determine the Assembly Path for Unit Testing?

Navigation de chemins d'assemblage dans les tests unitaires

Les tests unitaires nécessitent souvent l'accès au chemin d'accès de l'assemblage de test pour localiser les fichiers de support. Cela peut être délicat en raison de différents environnements d'exécution.

L'utilisation Environment.CurrentDirectory n'est pas fiable, car elle reflète le répertoire de travail, qui peut différer de l'emplacement de l'assemblage. De même, System.Reflection.Assembly.GetAssembly(typeof(DaoTests)).Location renvoie l'emplacement de l'appelant, pas celui de l'assemblage actuel.

La solution la plus robuste exploite System.Reflection.Assembly.GetExecutingAssembly().CodeBase:

<code class="language-csharp">string codeBase = Assembly.GetExecutingAssembly().CodeBase;
UriBuilder uri = new UriBuilder(codeBase);
string path = Uri.UnescapeDataString(uri.Path);
string directoryPath = Path.GetDirectoryName(path);</code>
Copier après la connexion

Cela extrait le chemin d'accès de CodeBase, supprime le préfixe "fichier: ///" et fournit le chemin du répertoire correct. Cette méthode garantit des résultats cohérents dans différents contextes de test, permettant un accès fiable aux fichiers nécessaires lors des tests unitaires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal