Jak się walniemy to do JSP możemy wrzucić zamiast obiektu klasy Użytkownik obiekt klasy typu na przykład Szpadel. Wywali się dopiero gdy aplikację uruchomimy - a nawet może być jeszcze gorzej i się nie wywali bo obydwa obiekty będą miał właściwość "${obiekt.name}" (na przykład szpadel "Władek" - przyjaciel każdego farmera)
No i trzeba przeczesać każdą taką stronkę seleniakami aby żaden babol nie wyciekł. Niby teraz jest moda by wszystko jechać javascriptem z API ale jeśli ktoś jeszcze staromodnie przekazuje model z kontrolera do widoku to poniższe może mu się przydać - ale to nie będzie JSP.
Testy widoku w Play2
Generalnie cała magia polega na tym, że w Play2 widok jest skompilowany do ogólnodostępnej funkcji a nie gdzieś tam ukrywany w targecie jak skompilowane JSPy. Szybko można ten temat ogarnąć tworząc podstawową aplikację (zakładając, że tam wszystkie scale są poinstalowane) :
- play new dotestow
- cd dotestow
- play
- eclipse
- ~run (ogonek jest po to aby kod był z automatu kompilowany)
@(message: String) <h1>@message</h1>
Wywołanie widoku
Odpalamy sobie konsolkę scali w Play (najpierw "play" potem "console") i można zrobić coś takiego :
Czyli elegancko wywołaliśmy sobie widok i mamy rezultat. Na razie go widzimy ale jeszcze nie testujemy.Testy
Mamy z paczki wygenerowany test ApplicationSpec, który nawet przechodzi! Dorzućmy tam :
"generate proper header on the index page" in { //given val header="daj Kamienia" //when val result=views.html.index.apply(header) //then result.toString must contain(s"<h1>$header</h1>") }I teraz można to sobie odpalić z eclipse albo z konsoli jak kto woli : Niniejszym jednostkowo przetestowaliśmy rezultat renderowania widoku- świat jest uratowany. Ano i szpadla tam nie można przekazać bo Play sprawdza typy.
Inne przydatne narzędzia
Play2 Framework to nie jedyne fascynujące narzędzie na jakie natrafiłem w ostatnim czasie. Poniżej zdjęcie nowoczesnego termosu turystycznego - jebany trzyma wrzątek przez bite 20 godzin.
* * *
Brak komentarzy:
Prześlij komentarz