Konkretes Beispiel wäre einfach nur eine Klasse A, die ein paar unterstützende Methoden (beispielsweise [De]kodierung) für Klasse B anbietet. Wenn man die
Unit einbindet, interessiert einen nur Klasse B.
Wenn du aber die Klasse A testen möchtest, dann brauchst du auch Zugriff auf sie.
Diese Klasse für [De]kodierung ist prädistiniert dafür, dass man sie testet.
Delphi-Quellcode:
// Test (ohne Testframework)
const
TESTDATA = '
teststring123äöüß';
var
a : TKlasseA;
s :
String;
begin
a := TKlasseA.Create;
s := a.Encode(TESTDATA);
s := a.Decode(s);
if s <> TESTDATA
then
raise Exception.Create('
Test TKlasseA fehlgeschlagen');
Wie man sieht ist es gar nicht so schlimm, dass man in Delphi nicht gezielt Klassen verstecken kann weil man die Klassen sowieso testen muss.