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