Poza zwykłymi testami jednostkowymi czy testami komponentów, Seam pozwala wykonywać testy integracyjne w środowisku symulującym JSF.
Jako przykładu użyję zmiany hasła użytkownika. Do tego celu będę potrzebował choćby prostego uwierzytelnienia, na którym oprę działanie nowego komponentu.
Interfejs
Interfejs komponentu musi posiadać właściwości pozwalające na podanie ...
Więcej…
Opisane ostatnio testy jednostkowe pozwalają przetestować funkcjonalność pojedynczej klasy. Jednak nie da się w ten sposób przetestować działania komponentów w kontekście.
Encja
Jako przykładu, użyję ustawień aplikacji zapisywanych w bazie danych. Poniżej przedstawiam odpowiednią encję:
@Entity
@Table(name="settings")
@org.hibernate.annotations.Table(appliesTo="settings", indexes={
@Index(name="idx_setting_key", columnNames={"key"})
})
@NamedQueries({
@NamedQuery(
...
Więcej…
Uwaga: Walidator uzupełniony o format bez łączników oraz weryfikację cyfry kontrolnej znajduje się w projekcie opisanym w artykule Dodatkowe walidatory Hibernate. Niniejszy wpis dotyczy głównie użycia parametrów adnotacji walidatora.
Opisując tworzenie nowego walidatora Hibernate wspomniałem o parametrach adnotacji. Postanowiłem utworzyć przykład takiej walidacji dla Numerów ...
Więcej…
Testy jednostkowe w Seam Framework nie różnią się od innych testów jednostkowych. Jednak to od nich powinienem zacząć.
Do tego celu postanowiłem wykorzystać nowy walidator Hibernate, sprawdzający poprawność nazwy użytkownika (loginu).
Adnotacja
Najpierw utworzę nową adnotację @ValidLogin, która na równi z @NotNull czy @Email będzie ...
Więcej…
Ostatnio snułem rozważania nad kolejnością prac w projektach informatycznych. Ostatecznie zaproponowałem następujący porządek:
Określenie wymagań funkcjonalnych.
Napisanie testów.
Implementacja klas.
Mapowanie obiektów na relacje bazy danych.
Tym razem chciałbym zająć się praktyczną stroną zagadnienia i wykazać prawdziwość wysuniętych tez. Od czego by tu zacząć… no tak:
1. Określenie wymagań.
Ponieważ ...
Więcej…