问题描述
|
我已经使用Apache CXF设置了JAX-RS服务,我想使用Apache CXF JAX-RS的客户端API对其进行测试。服务器已配置为使用Jackson作为json提供程序。现在,我想对客户端执行相同的操作:也就是说,让Jacson处理到json的转换。
不幸的是,我仅凭Spring的肤浅知识就不确定如何“启用Spring”测试。我在测试中以编程方式设置了提供程序,但是想知道如何在Spring中做到这一点。所以代替
@BeforeClass
public static void setup() {
ProviderFactory.getSharedInstance().registerUserProvider(new JacksonjsonProvider());
}
我只想在springConfiguration.xml中设置它(或类似的东西:)。设置服务器端时,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,但这什么也没做。不足为奇,因为我还没有设置要使用Spring的JUnit测试...谁能告诉我该怎么做,或者指向我提供可以用来收集必要信息的任何好的资源?
解决方法
以下注释将在运行测试之前加载您的应用程序上下文。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={\"applicationContext.xml\"})
public class JaxRsTest {
@Autowired
MyBean myBean
public void testMyBean() {
//add some real tests here...
assertNotNull(myBean)
}
}