Юнит-тестирование Джерси с Моксом - PullRequest
8 голосов
/ 09 мая 2011

У нас есть тест, который расширяет JerseyTest, и нам нужен фиктивный сервис, внедренный в него. Как мы можем это сделать?

Спасибо

1 Ответ

2 голосов
/ 03 сентября 2012

Редактировать: это решение работает только с Джерси 1.x , и, следовательно, является весьма устаревшим.

Относится к библиотеке http://geek.riffpie.com/unit-testing-restful-jersey-services-glued-together-with-spring/.

Если вы используете Spring, вы можете расширить AbstractSpringAwareJerseyTest вместо JerseyTest и добавить все, что вам нужно.

В соответствии с просьбой, небольшой фрагмент кода:

public class MyClassTest extends AbstractSpringAwareJerseyTest{

  @Autowired
  private LdapSetupAndTearDown ldapSetupAndTearDown;

  @Before
  public void setUp2() throws Exception {
    ldapSetupAndTearDown.setUp();
  }

  @After
  public void tearDown2() throws Exception {
    ldapSetupAndTearDown.tearDown();
  }

  public MyClassTest () throws Exception {
    super(new WebAppDescriptor.Builder()
    .contextPath("JSONUserServiceTest")
    .contextParam("contextConfigLocation",
        "classpath:/ctx-config-test.xml,classpath:/ctx-core.xml, classpath:/ctx-jmx-test.xml, classpath:ctx-jersey.xml, classpath:ctx-ldap.xml, classpath:ctx-ldap-test.xml")
    .servletClass(SpringServlet.class).contextListenerClass(ContextLoaderListener.class).build());
  }
...