Potrzebuję wykonać testy JUnit przy użyciu Mockito lub PowerMock lub czegoś jeszcze, ale nie wiem od czego zacząć. Stworzyłem folder testowy, ustawiłem mockito, ale co mam zrobić dalej? Nie mogłem znaleźć żadnych przykładów, więc utknąłem z tym. Czy możesz mi pokazać, jak napisać ten test JUnit lub przynajmniej dać jakiś pomysł.JUnit i Mocks in Liferay
public void deleteAuthor(ActionRequest actionRequest, ActionResponse actionResponse)
throws SystemException, PortalException {
long authorId = ParamUtil.getLong(actionRequest, "authorId");
AuthorLocalServiceUtil.deleteAuthor(authorId);
SessionMessages.add(actionRequest, "deleted-author");
log.info(DELETE_SUCCESS);
}
Albo to:
public void addAuthor(ActionRequest actionRequest, ActionResponse actionResponse)
throws IOException, PortletException, SystemException {
String authorName=ParamUtil.getString(actionRequest,"authorName");
Author author=AuthorLocalServiceUtil.createAuthor(CounterLocalServiceUtil.increment());
author.setAuthorName(authorName);
author=AuthorLocalServiceUtil.addAuthor(author);
}
PS: Jestem bardzo początkujący i zrobiłem tylko 1 test JUnit w moim życiu, więc jestem naprawdę zainteresowany dobrą radą. Z góry dziękuję!
UPD:
próbuję zrobić, aby czymś tak:
private BookAndAuthor portlet;
@Before
public void setUp() {
portlet = new BookAndAuthor();
}
@Test
public void testDeleteBookOk() throws Exception {
PowerMockito.mockStatic(BookLocalServiceUtil.class);
long id = 1;
Book book = BookLocalServiceUtil.createBook(id);
ActionRequest actionRequest = mock(ActionRequest.class);
ActionResponse actionResponse = mock(ActionResponse.class);
when(BookLocalServiceUtil.deleteBook(book)).thenReturn(null);
Book result = BookLocalServiceUtil.deleteBook(book);
assertEquals(result, null);
}
... ale bez powodzenia.
Przede wszystkim proszę spojrzeć na [oficjalną stronę] Mockitos (http://mockito.org/). To powinno pomóc w rozpoczęciu pracy i zrozumieć ideę szyderczych zajęć. –
@ArthurEirich Czytałem loooot dokumentów i tutoriali, nie żartuję. Ale to moje pierwsze doświadczenie i po prostu nie wiem, co powinienem dostać po tym teście. Mam na myśli, znam podstawową zasadę, ale nie mam pojęcia, jak to zrobić. – German
Czy możesz mb wysłać kod dla 'AuthorLocalServiceUtil # deleteAuthor', a także dla' AuthorLocalServiceUtil # addAuthor'? –