Obecnie jestem na zajęciach z zakresu testowania oprogramowania, gdzie w ramach naszego projektu semestralnego musimy przeprowadzić na nim wiele rodzajów testów, takich jak testy jednostkowe i testy integracyjne. Do testowania integracji profesor powiedział, że do naszych testów integracji używa fałszywych bibliotek i fałszywych bibliotek (takich jak EasyMock i Mockito). Jestem jednak dość zagubiony. Testy integracyjne to testowanie poza klasami, modułami, usługami itp. Dlaczego mocki i kody pośredniczące byłyby odpowiednie do użycia w testach integracyjnych, jeśli testujesz wiele klas i usług?
unit-testing
testing
integration-tests
mocking
TheLegendOfCode
źródło
źródło
Odpowiedzi:
Jeśli masz funkcjonalność, która dotyka kilku komponentów zewnętrznych, możesz wyśmiewać wszystkie oprócz jednego, aby wyizolować i przetestować określony komponent. Załóżmy na przykład, że masz funkcję, która wywołuje usługę internetową, a następnie robi coś z bazą danych na podstawie wyników. Możesz napisać trzy testy integracyjne:
Jeśli uruchomisz wszystkie trzy testy, a 1 i 3 się nie powiodą, istnieje duża szansa, że w kodzie może działać błąd, który działa z bazą danych, ponieważ jedynym pozytywnym testem był test wykorzystujący próbną łączność z bazą danych.
Ogólnie rzecz biorąc, testy integracyjne nie wykorzystują próbnych, ale czasami zrobiłem coś takiego.
źródło
Nie jest od razu jasne, co należy rozumieć przez test integracyjny, ale użycie podróbek / próbnych / podwójnych testów jest prawidłową techniką tworzenia scenariuszy testowych na wszystkich poziomach w piramidzie testów . [1] [2] [3]
źródło