Как использовать mockito для тестирования службы REST?
Я очень новичок в модульном тестировании Java и слышал, что инфраструктура Mockito действительно хороша для целей тестирования.
Я разработал REST-сервер (методы CRUD) и теперь хочу его протестировать, но я не знаю как?
Еще больше я не знаю, как должна начаться эта процедура тестирования. Мой сервер должен работать на localhost, а затем делать вызовы по этому URL (например, localhost: 8888)?
Вот что я пробовал до сих пор, но я почти уверен, что это не правильный путь.
@Test
public void testInitialize() {
RESTfulGeneric rest = mock(RESTfulGeneric.class);
ResponseBuilder builder = Response.status(Response.Status.OK);
builder = Response.status(Response.Status.OK).entity(
"Your schema was succesfully created!");
when(rest.initialize(DatabaseSchema)).thenReturn(builder.build());
String result = rest.initialize(DatabaseSchema).getEntity().toString();
System.out.println("Here: " + result);
assertEquals("Your schema was succesfully created!", result);
}
Вот код дляinitialize
метод.
@POST
@Produces(MediaType.APPLICATION_JSON)
@Path("/initialize")
public Response initialize(String DatabaseSchema) {
/** Set the LogLevel to Info, severe, warning and info will be written */
LOGGER.setLevel(Level.INFO);
ResponseBuilder builder = Response.status(Response.Status.OK);
LOGGER.info("POST/initialize - Initialize the " + user.getUserEmail()
+ " namespace with a database schema.");
/** Get a handle on the datastore itself */
DatastoreService datastore = DatastoreServiceFactory
.getDatastoreService();
datastore.put(dbSchema);
builder = Response.status(Response.Status.OK).entity(
"Your schema was succesfully created!");
/** Send response */
return builder.build();
}
В этом тестовом примере я хочу отправить строку Json на сервер (POST). Если все прошло хорошо, сервер должен ответить «Ваша схема была успешно создана!».
Может кто-нибудь, пожалуйста, помогите мне?