• Nie Znaleziono Wyników

oprogramowania JUNIT 4.0 http://www.junit.org/

N/A
N/A
Protected

Academic year: 2021

Share "oprogramowania JUNIT 4.0 http://www.junit.org/"

Copied!
21
0
0

Pełen tekst

(1)

Testy jednostkowe - zastosowanie

oprogramowania JUNIT 4.0 http://www.junit.org/

Zofia Kruczkiewicz

(2)

1. Aby utworzyć test dla jednej klasy, należy kliknąć prawym przyciskiem myszy w oknie Projects na wybraną klasę i wybrać Tools> Create Tests (Ctrl-Shift-U), aby

otworzyć okno dialogowe Create Tests .

Utworzenie zestawu testów wykonuje się podobnie klikając prawym klawiszem na

nazwę pakietu klas przeznaczonych do testowania

(3)

Należy wybrać framework typu junit. Na wybranym formularzu należy

zaznaczyć właściwe opcje testowania.

(4)

2. Klasy testowe można utworzyć drugim sposobem wykorzystując

File Wizard – wybór pozycji Other+

(5)

Wybór kategorii pliku:Unit Test oraz typ pliku testowego (prawa część

formularza)

(6)

3. Wygenerowany zestaw szkieletu testów dla pakietu Source Package

(7)

3.1. Plik zestawu wszystkich testów pakietu Source Package

umieszczonych w pakiecie Test Package

(8)

3.2. Plik zestawu testów dla pakietu Warstwa_biznesowa

(9)

3.3. Plik zestawu testów dla pakietu Warstwa_klienta

(10)

3.4. Wygenerowane metody testowe w klasie FasadaTest dla klasy typu

Fasada

(11)

3.5. Wygenerowane metody testowe w klasie FasadaTest dla klasy typu

Fasada cd

(12)

3.6. Wygenerowane metody testowe w klasie FasadaTest dla klasy

typu Fasada cd

(13)

4. Adnotacje określające sposób i moment testowania http://www.vogella.com/articles/JUnit/article.html

Fails, if the method takes longer than 100 milliseconds.

@Test(timeout=100)

Fails, if the method does not throw the named exception.

@Test (expected = Exception.class)

Will ignore the test method. This is useful when the underlying code has been changed and the test case has not yet been adapted. Or if the execution time of this test is too long to be included.

@Ignore

Will execute the method once, after all tests have finished. This can be used to perform clean-up activities, for example to disconnect from a database.

@AfterClass

public void method()

Will execute the method once, before the start of all tests. This can be used to perform time intensive activities, for example to connect to a database.

@BeforeClass

public void method()

Will execute the method after each test. This method can cleanup the test environment (e.g. delete temporary data, restore defaults).

@After

public void method()

Will execute the method before each test. This method can prepare the test environment (e.g. read input data, initialize the class).

@Before

public void method()

The annotation @Test identifies that a method is a test method.

@Test

public void method().

Description Annotation

(14)

5. Metody wspomagające ocenę wyniku testu http://www.vogella.com/articles/JUnit/article.html

Checks that both variables refer to different objects.

assertNotSame([String], expected, actual)

Checks that both variables refer to the same object.

assertSame([String], expected, actual)

Checks that the object is not null.

assertNotNull([message], object)

Checks that the object is null.

assertNull([message], object)

Test that float or double values match. The tolerance is the number of decimals which must be the same.

assertsEquals([String message], expected, actual, tolerance)

Tests that two values are the same. Note: for arrays the reference is checked not the content of the

arrays.

assertsEquals([String message], expected, actual)

Checks that the boolean condition is true.

assertTrue([message],boolean condition)

Will always be true / false. Can be used to predefine a test result, if the test is not yet implemented.

assertTrue(true) / assertTrue(false)

Let the method fail. Might be used to check that a certain part of the code is not reached. Or to have failing test before the test code is implemented.

fail(String)

Description

Statement

(15)

6. Pomocnicze klasy zdefiniowane przez użytkownika do przeprowadzenia testów jednostkowych metod dodaj_tytul i addtytul_ksiazki klasy Fasada

Utworzenie wzorcowej kolekcji typu ArrayList zawierającej elementy - obiekty typu Tytul_ksiazki Utworzenie

wzorcowego obiektu typu Tytul_ksiazki

Definicja metody tworzącej wzorcowy obiekt typu Tytul_ksiazki

Definicja metody tworzącej wzorcową kolekcję typu ArrayList z elementami typu

Tytul_ksiazki

(16)

6.1. Uzupełnione metody do testowania metod setTytuly_ksiazek i getTytuly_ksiazek klasy Fasada

Porównanie kolekcji z dodanymi dwoma tytułami pobranymi z aplikacji metodą

getTytuly_ksiazek

z kolekcją dwóch tytułów

utworzonych jako kolekcja wzorcowa metodą Tytuly

(17)

6.2. Uzupełnione metody do testowania metod dodaj_tytul i addtytul_ksiazki klasy Fasada

Porównanie dodanego tytułu

pobranego z aplikacji z tytułem wzorcowym Sprawdzenie

,czy po próbie

dodania tego samego

tytułu liczba tytułów nie zmieni się

Porównanie dodanego tytułu

pobranego z aplikacji z tytułem wzorcowym

(18)

6.3. Pomocnicze klasy zdefiniowane przez użytkownika do przeprowadzenia testów jednostkowych metody dodaj_ksiazke klasy Fasada

Utworzenie wzorcowej kolekcji typu ArrayList zawierającej elementy -

obiekty typu Ksiazka

Utworzenie wzorcowego

obiektu typu Ksiazka

Definicja metody tworzącej wzorcowy obiekt

typu Ksiazka

Definicja metody tworzącej wzorcową

kolekcję typu ArrayList z elementami typu Ksiazka

Zmienna liczba parametrów typu String[], przekazywana

do metody w postaci tablicy dane takich

elementów

(19)

6.4. Uzupełniona metoda do testowania metody dodaj_ksiazke klasy Fasada

Dodanie 3 książek: 2 do tytułu z ISBN=12345 i 1 do tytułu o ISBN=67891 Metoda

Ksiazki zwraca wzorcowe kolekcje książek: dla tytułu z

ISBN=12345 (2 książki) oraz

ISBN=67891 (1 książka)

Danie 2 tytułów: z ISBN=12345 i ISBN=67891

Metoda zwraca kolekcję książek pobranych z aplikacji dla tytułu z

ISBN=12345 oraz

ISBN=67891

(20)

7. Uruchomienie testów

(21)

8. Wynik testowania

Cytaty

Powiązane dokumenty

Przypisy­ w any przez Norwida czytelnikom szlacheckim odbiór Pana Tadeusza jako epopei ujaw nił się najwcześniej w r. Spośród polskich opinii na ten tem at mógł

Pierw szym zadaniem , ułatw ionym przeiz możliwość użycia niew y kw alifiko w any ch robotników było odgruzow anie kościoła, z dokładnym przesianiem rum ow iska,

w terminie 2 miesięcy od dnia ogłoszenia o zamiarze dokonania podziału nieruchomości nie zgłoszą się osoby, które wykażą, że przysługują im prawa rzeczowe do nieruchomości..

Wykres po lewej stronie pokazuje przebieg prędkości wzdłuż trasy przy poruszaniu się po linii, natomiast ten po prawej ukazuje prędkości podczas przejazdu po trasie o mi-

Opisz metody klasy Assert, które służą do badania warości typu boolean (typ metody, parametry metod oraz wynik).. Przedstaw rolę klasy

oddziela klienta od komponentów podsystemu, zmniejszając liczbę obiektów, z którymi klient musi się dogadywać, co czyni podsystem łatwiejszym w użyciu 2. wspiera luźne

promocja i wywołaniu metody utworz_produkt ziarna EJB z obiektu fasada klasy typu Fasada_warstwy_biznesowej oraz wyświetlanie danych za pomocą metody. dane_produktu pobranych z

Składniki typu public oraz protected klasy bazowej stają się składnikami private klasy potomnej. public → private protected