Heim >Backend-Entwicklung >C++ >Wie kann ich den Montagepfad für Unit -Tests zuverlässig bestimmen?
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
:
<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>
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!