2014-08-28 3 views
2

Какая лучшая библиотека/API для юниверса Джерси на базе Restful Web Services? Некоторые API, такие как JerseyTest, выглядят устаревшими (имели конфликты при использовании их в моем помпе), а также, похоже, зависят от конкретного контейнера, такого как Glassfish или Grizzly ... Я развертываю службы поддержки на основе Джерси, основанные на ожиданиях, в качестве военного файла в Tomcat 7. Есть ли способ использовать структуру тестирования, которая имеет встроенный веб-сервер или решение в памяти? Еще раз спасибо.Лучший API/lib для юниверса Джерси Restful Web Services?

ответ

1

Я использую для всех моих проектов, поддерживающих защиту, поскольку он предлагает специализированный dsl для написания ваших тестов, и как только вы стали привычным для нотации, написание тестов выполняется очень быстро.

Разнообразие примеров можно найти на project website, но для быстрого просмотра - тестовый образец может выглядеть следующим образом: фрагмент

expect() 
    .statusCode(200) 
    .body("user.id", equalTo(1)) 
.when() 
.given() 
    .contentType(ContentType.JSON) 
.get("http://test/rest"); 

Как мой блог был цитируемый Баладжи, я хотел бы добавить что есть this article of mine с дополнительными примерами для остальной системы, а также загружаемый REST-сервер для тестирования примеров.

тестовый пример с джерси-тест может выглядеть как этот пример взят из project's documentation:

public class SimpleTest extends JerseyTest { 

    @Path("hello") 
    public static class HelloResource { 
     @GET 
     public String getHello() { 
      return "Hello World!"; 
     } 
    } 

    @Override 
    protected Application configure() { 
     return new ResourceConfig(HelloResource.class); 
    } 

    @Test 
    public void test() { 
     final String hello = target("hello").request().get(String.class); 
     assertEquals("Hello World!", hello); 
    } 
} 
Смежные вопросы