Hi,
I have the following simple example unit test:
public class TableResourceTest extends JerseyTest {
public TableResourceTest() throws Exception {
super(new WebAppDescriptor.Builder("bbc.forge.statsapi")
.contextPath("football")
.contextParam("contextConfigLocation",
"classpath:applicationContext.xml")
.contextParam("log4jConfigLocation",
"classpath:log4j.properties")
.contextParam("propertiesConfigLocation",
"classpath:propertiesConfigContext.xml")
.contextListenerClass(ContextLoaderListener.class)
.requestListenerClass(RequestContextListener.class)
.servletClass(SpringServlet.class).build());
}
@Test
public void testTable() throws Exception {
WebResource webResource = resource();
String responseMsg =
webResource.path("/football/table/competition/100").get(String.class);
Assert.assertEquals("Some Text", responseMsg);
}
}
However on running the test I get a NullPointerException. The resource I am
invoking has an AutoWired property which is in the applicationContext.xml.
But it appears the http container isnıt initialising spring at all. Iım not
really sure why. I have looked through some of the samples such as
spring-annotations and it doesnıt appear to be any different.
The container is initialising the resources ok so I wasnıt sure why it
wasnıt picking up the applicationContext.xml. Or maybe it is and this
doesnıt work with autowiring?
INFO: Scanning for root resource and provider classes in the packages:
bbc.forge.statsapi
Jan 12, 2011 12:19:55 PM com.sun.jersey.api.core.ScanningResourceConfig
logClasses
INFO: Root resource classes found:
Thanks
Jon