Przejdź do treści
Strona główna » Spring w Akcji 1.8

Spring w Akcji 1.8

java podstawy

Spis treści | Czysty kod

  1. Pisanie aplikacji Spring
  2. Obsługa żądań
  3. tESTOWANIE KONTROLERA

Pisanie aplikacji w Spring

Ponieważ dopiero zaczynasz, zaczniemy od stosunkowo niewielkiej zmiany w aplikacji aplikacji Taco Cloud, ale takiej, która zademonstruje wiele dobroci Springa. Wydaje się właściwe, że skoro dopiero zaczynasz, pierwszą cechą, którą dodasz do do aplikacji Taco Cloud jest strona główna. Dodając stronę główną, utworzysz dwa artefakty kodu:

  • Klasa kontrolera, która obsługuje żądania dla strony głównej
  • Szablon widoku, który definiuje jak wygląda strona główna

A ponieważ testowanie jest ważne, napiszesz również prostą klasę testową, aby przetestować stronę główną. Ale po pierwsze… napiszmy ten kontroler

Obsługa żądań

Spring jest wyposażony w potężny framework internetowy znany jako Spring MVC. W centrum Spring MVC jest koncepcja kontrolera, klasy, która obsługuje żądania i odpowiada z informacjami. W przypadku aplikacji skierowanej do przeglądarki, kontroler

Poźniej dowiesz się wiele o Spring MVC. Na razie napiszemy prostą klasę kontrolera, która obsługuje żądania dotyczące ścieżki głównej (na przykład /) i przekazuje te żądania do widoku strony głównej bez wypełniania jakichkolwiek danych modelu danych. Poniższy listing pokazuje prostą klasę kontrolera

omowienie template

Nie ma wiele do omówienia w odniesieniu do tego szablonu. Jedyna zauważalna linia kod to ten ze znacznikiem <img> do wyświetlania logo Taco Cloud. Wykorzystuje Thymeleaf th:src atrybut i wyrażenie @{...}, aby odwołać się do obrazu ze ścieżką względną kontekstu. Poza tym to niewiele więcej niż strona Hello World.
 Do obrazu odwołuje się ścieżka względna kontekstu /images/TacoCloud.png. Jak zapewne pamiętasz z naszego przeglądu struktury projektu, zawartość statyczna, taka jak obrazy jest przechowywany w folderze /src/main/resources/static. Oznacza to, że Taco Cloud obraz logo musi również znajdować się w projekcie w /src/main/resources/static/images/ TacoCloud.png.

 Teraz, gdy masz kontroler do obsługi żądań strony głównej i widoku szablon do renderowania strony głównej, jesteś prawie gotowy do uruchomienia aplikacji i zobacz to w akcji. Ale najpierw zobaczmy, jak możesz napisać test na kontrolerze.

tESTOWANIE KONTROLERA

Testowanie aplikacji internetowych może być trudne, gdy dokonujemy asercji względem zawartości strony HTML. Na szczęście, Spring posiada potężne wsparcie dla testów, które sprawia, że testowanie aplikacji internetowej jest łatwe.
Na potrzeby strony głównej, napiszesz test o złożoności porównywalnej do samej strony głównej. Twój test będzie wykonywał żądanie HTTP GET dla
i oczekuje pomyślnego wyniku, w którym nazwa widoku to home, a treść zawiera frazę „Witamy w…”. Poniższe rozwiązanie powinno załatwić sprawę

Testiwanie kontrolera

Pierwszą rzeczą, którą możesz zauważyć w tym teście, jest to, że różni się on nieco od klasy TacoCloudApplicationTests pod względem adnotacji zastosowanych do niego. Zamiast. @SpringBootTest znaczniki, HomeControllerTest jest opatrzony adnotacją @WebMvcTest. Jest to specjalna adnotacja do testów dostarczana przez Spring Boot, która powoduje, że test jest uruchamiany w kontekście aplikacji Spring MVC. Dokładniej, w tym przypadku, organizuje ona, aby HomeController jest zarejestrowany w Spring MVC, dzięki czemu można rzucać żądania
przeciwko niemu. @WebMvcTest ustawia również wsparcie Spring dla testowania Spring MVC. Chociaż można by zrobić tak, aby uruchamiał serwer, wyśmiewanie mechaniki Spring MVC jest wystarczające dla Twoich celów. swoich celów. Klasa testowa jest wstrzykiwana z obiektem MockMvc, aby test mógł napędzać mockup.
Metoda testHomePage() definiuje test, który chcemy wykonać względem stronie głównej. Zaczyna się od obiektu MockMvc, aby wykonać żądanie HTTP GET dla /. (ścieżka główna).

Pomocne linki

kurs java

calculations

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *