Wykonuję testy jednostkowe. Nie mam pojęcia, jak przetestować test global.asax w asp.net. Czy plik global.asax w asp.net jest objęty testem jednostkowym? Istnieje również klasa instalatora aplikacji, która zawiera warianty systemowe. Czy powinienem je przetestować?Czy możemy testować urządzenie global.asax w asp.net?
Odpowiedz
Możesz. Ale nie powinieneś. Test jednostkowy, jak sama nazwa wskazuje, testuje jednostki. Kod w pliku global.asax lub w konfiguracji systemu nie jest jednostką. Testy na te rzeczy byłyby naprawdę ściśle powiązane z kodem i zawsze dawałyby ci fałszywe niepowodzenia, gdy zmienisz nieistotną rzecz, więc nie warto. Istnieją inne poziomy testowania aplikacji, gdzie stają się one istotne: testowanie integracyjne, automatyzacja itp. Nie należy umieszczać wszystkiego w "badaniu jednostkowym", tylko dobrze zdefiniowane pojedyncze części. Na przykład. nie testujesz również swojej konfiguracji web.config lub konfiguracji kontenera DI, ale testujesz je na innym poziomie.
Moje stanowisko w tej sprawie brzmi, że nie należy testować kodu jednostki w pliku global.asax.
Głównym powodem jest to, że nie powinno tam być więcej niż deklaracje i kod okablowania. Jak powiedział Peter Porfy, kod ten powinien zostać przetestowany w testach integracyjnych.
Jeśli znajdziesz jakąś logikę wartą testowania jednostkowego w twoim pliku global.asax, prawdopodobnie powinieneś ją rozróżnić i przetestować te klasy osobno.
& Co z instalatorem aplikacji? public void Install (Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store) {// coś} –
Czy możesz wysłać próbkę kodu? – Buzzer