我已经使用Apache CXF设置了JAX-RS服务,我想使用Apache CXF JAX-RS'客户端API进行测试。服务器已配置为使用Jackson作为json提供程序。现在我想为客户端做同样的事情:就是让Jacson处理转换为json的转换。
不幸的是,我不确定如何“弹簧启用”测试,只有表面的Spring知识。我在测试中以编程方式设置了一个提供程序,但想知道如何通过Spring完成它。而不是
@BeforeClass
public static void setup() {
ProviderFactory.getSharedInstance().registerUserProvider(new JacksonJsonProvider());
}
我想在springConfiguration.xml(或类似:)中设置它。在设置serverside时,springConfiguration.xml看起来像这样。
<bean id="jsonProvider" class="org.codehaus.jackson.jaxrs.JacksonJsonProvider"/>
<jaxrs:server id="restContainer" address="/">
<jaxrs:serviceBeans>
<ref bean="echoService"/>
</jaxrs:serviceBeans>
<jaxrs:providers>
<ref bean="jsonProvider" />
</jaxrs:providers>
<jaxrs:extensionMappings>
<entry key="json" value="application/json"/>
</jaxrs:extensionMappings>
</jaxrs:server>
我试图添加
<jaxrs:client id="restClient" >
<jaxrs:providers>
<ref bean="jsonProvider" />
</jaxrs:providers>
</jaxrs:client>
到springConfiguration.xml,但是没有做任何事情。毫不奇怪,因为我没有设置我的JUnit测试来使用Spring ...有谁能告诉我如何做到这一点,或者指出我可以组装必要信息的任何好资源?
答案 0 :(得分:1)
以下注释将在运行测试之前加载您的应用程序上下文。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"applicationContext.xml"})
public class JaxRsTest {
@Autowired
MyBean myBean
public void testMyBean() {
//add some real tests here...
assertNotNull(myBean)
}
}