使用CXF JAXRSServerFactoryBean返回简单文本以测试通信故障

时间:2018-01-09 22:24:34

标签: json testing jax-rs cxf

我正在开发一个代码库,它试图对远程服务进行REST调用,该服务返回JSON。当它恢复正常的JSON时,调用工作正常。在某些情况下,就像网络爆炸时一样,它会返回HTML,它会尝试报告各种网络问题。

我们在客户端中的错误处理代码需要正确处理这种情况,这种情况被定义为简单地获取HTML字符串并进行记录。

我觉得为此编写自动化测试有点困难。

在我们的客户端代码中,我们使用ClientBuilder.newBuilder()...,然后调用“build()”,它返回客户端,然后我们调用“client.target(url)”,然后继续获取响应。我们有一个异常处理程序,它将尝试读取原始文本。

在测试这种事情时,我习惯使用CXF JAXRSServerFactoryBean类来运行服务器。我知道如何将客户端连接到服务器,但我不确定在服务器中配置什么以允许我返回任意文本,而不是“资源类”。

使用JAXRSServerFactoryBean也可能因为它需要返回纯文本而过度杀伤。

我有什么选择?

更新

我确实在使用JAXRSServerFactoryBean设置测试方面取得了进展,但我仍然想知道是否还有其他选项,尤其是那些可以缓解我发现的下一个问题的选项,如Using javax.ws.rs.client.ClientBuilder in CXF to create Client, any route to be able to use local transport?所述。

更新

我放弃了JAXRSServerFactoryBean方法,因为我不需要测试网络,这样做会增加额外的复杂性。 JAX-RS滤波器方法更简单,避免了这些复杂情况。有关详细信息,请参阅上述链接问题。

0 个答案:

没有答案