Ich baue ein dediziertes Projekt für alle Komponententests unseres Hauptprojekts, da die Einbeziehung in das Hauptprojekt eine bereits große Belastung bedeuten würde Codebasis. Jetzt werden alle Einheiten des Hauptprojekts in der dpr-Datei des Projekts mit ihren Standorten referenziert. Wenn ich einen Testfall für eine Klasse schreibe, kopiere ich einfach die Klasseneinheitsreferenz (und die referenzierten Einheitseinheitsreferenzen) aus dem Hauptprojekt dpr und füge sie in das Einheitentestprojekt ein.Delphi: Wie man alle Einheiten und Einheitenreferenzen eines Projekts in einem anderen Projekt verwendet
Dies bedeutet, dass ich am Ende mit einer dpr-Datei enden wird, die alle Hauptprojekte dpr-Dateien Unit-Referenzen verbatim enthält, die schwer zu pflegen sein wird, wenn die wichtigsten Projekte dpr ändert. Wir sprechen hier von Tausenden von Einheiten.
Meine Frage ist, kann ich irgendwie alle Einheitenreferenzen eines Projekts in ein anderes Projekt aufnehmen? Einfach das Hauptprojekt kompilieren seine dcus in einem Verzeichnis und dies in der Einheit Tests Projekte dcu Suchpfad ist nicht ausreichend, da die Einheiten haben Initialisierungsroutinen, die ausgeführt werden müssen.
Ja, ich dachte darüber nach, so etwas zu tun. Leider sind sie nicht Teil des Projekts für die IDE, wenn ich sie mit der Compiler-Direktive einschließe, vielleicht modifiziere ich dein Beispiel, damit es das dpr des Testprojekts direkt ändert. Es gibt keine späte Bindung, ich möchte alle Einheiten für ihren Initialisierungscode einschließen, auch diejenigen, die (noch) keine Tests haben. Es gibt eine globale Klassenregistrierung, die ich verwenden möchte. Außerdem möchte ich es meinen Kollegen erleichtern, neue Tests zu schreiben, ohne sich mit Unit-Referenzen auseinandersetzen zu müssen, wäre ein Hindernis weniger. – Ozan