如何使用Spring为JAX-RS测试客户端配置Json提供程序?

问题描述

| 我已经使用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)
  }

}