JerseyTest kullanarak RESTful web hizmeti için bazı JUnit tabanlı tümleştirme testleri yazıyorum. JAX-RS kaynak sınıfları Spring kullanarak ve şu anda böyle bir test durumu ile birlikte evernthing telgraf ile havale ediyorum şu:Spring ve Jersey Test Çerçevesi ile birim testi
Bu sunucu uygulamasını kablolama için çalışırpublic class HelloResourceTest extends JerseyTest
{
@Override
protected AppDescriptor configure()
{
return new WebAppDescriptor.Builder("com.helloworld")
.contextParam("contextConfigLocation", "classpath:helloContext.xml")
.servletClass(SpringServlet.class)
.contextListenerClass(ContextLoaderListener.class)
.requestListenerClass(RequestContextListener.class)
.build();
}
@Test
public void test()
{
// test goes here
}
}
, ancak, paylaşmak edebilmek istiyorum Benim test durumumda aynı bağlamda, testlerimin, SpringJUnit4ClassRunner için çağrı yapan sahte nesneleri, DAO'ları vb. Ne yazık ki, SpringJUnit4ClassRunner ayrı, paralel bir uygulama içeriği oluşturur.
Peki, herkes SpringServlet ve test durumum arasında paylaşılan bir uygulama bağlamını nasıl oluşturabilirim?
Teşekkürler!
[Bu diğer örnek kod] (https://github.com/yamsellem/jersey-basics/blob/master/src/test/java/com/xebia/resource/ProductResourceJacksonTest.java) Grizzly veya Dağıtım için iskele. Grizzly biraz daha hızlı, ancak web.xml kullanamazsınız (bu yüzden kod ile yapılandırılmalıdır). –