Konkretna klasa, którą testuję, zależy od obiektu HttpSessionState.Kłusowanie zamkniętych klas bez publicznych konstruktorów?
Klasa HttpSessionState nie zawiera publicznych konstruktorów. Testowana klasa używa tego obiektu tylko jako magazynu NameValue. Klasa jest używana w usłudze sieciowej ASMX do zwracania informacji o konkretnej metodzie.
Zastanawiam się nad utworzeniem elewacji wokół klasy HttpSessionState, w której mogę dostarczyć ciąg znaków Słownik <, ciąg > zamiast obiektu Session w testowaniu.
Czy to dobry pomysł lub standardowa praktyka?
"Nic nie da się rozwiązać, dodając kolejną warstwę abstrakcji" - z wyjątkiem "do wielu warstw abstrakcji" =) – Restuta
Uważam, że oryginał brzmiał: "nie ma niczego, czego inny poziom pośrednictwa nie rozwiąże. " W pewnym momencie jednak nie będziesz w stanie przetestować poziomu, na przykład tego, co ukrywasz w httpsessionstate. Nie jesteś tego obeznany, ale zgadujesz, że tak naprawdę nie możesz go przetestować, ale możesz testować SUT, jeśli używasz wpisz tak, aby zrobić "coś". –
Nie obchodzi mnie oryginał, to tylko prawda =) – Restuta