Heim > Backend-Entwicklung > C++ > Wie kann ich den Montagepfad für Unit -Tests zuverlässig bestimmen?

Wie kann ich den Montagepfad für Unit -Tests zuverlässig bestimmen?

Linda Hamilton
Freigeben: 2025-01-31 23:06:11
Original
258 Leute haben es durchsucht

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

navigierende Baugruppenpfade in Unit -Tests

Unit -Tests erfordert häufig den Zugriff auf den Pfad der Testbaugruppe, um unterstützende Dateien zu lokalisieren. Dies kann aufgrund unterschiedlicher Ausführungsumgebungen schwierig sein.

Die Verwendung von Environment.CurrentDirectory ist unzuverlässig, da es das Arbeitsverzeichnis widerspiegelt, das sich vom Standort der Baugruppe unterscheiden kann. In ähnlicher Weise gibt System.Reflection.Assembly.GetAssembly(typeof(DaoTests)).Location den Standort des Anrufers zurück, nicht die aktuelle Montage.

Die robusteste Lösung nutzt System.Reflection.Assembly.GetExecutingAssembly().CodeBase:

string codeBase = Assembly.GetExecutingAssembly().CodeBase;
UriBuilder uri = new UriBuilder(codeBase);
string path = Uri.UnescapeDataString(uri.Path);
string directoryPath = Path.GetDirectoryName(path);
Nach dem Login kopieren

Dies extrahiert den Pfad aus CodeBase, entfernt das Präfix "Datei: ///" und bietet den richtigen Verzeichnispfad. Diese Methode gewährleistet konsistente Ergebnisse in verschiedenen Testkontexten und ermöglicht den zuverlässigen Zugriff auf erforderliche Dateien während des Testen von Units.

Das obige ist der detaillierte Inhalt vonWie kann ich den Montagepfad für Unit -Tests zuverlässig bestimmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage