我有一个基于Java 6的Web服务客户端,使用基于标准Java 6注释的方法(即没有Axis或其他第三方Web服务库),这种方法非常有效。我正在调用的Web服务也是如此,这很好,但现在我需要编写错误处理代码,并且我需要能够以受控方式使现有Web服务不可靠。
有许多模拟框架,它们可能会有所帮助,但我现在不需要能够用预先录制的答案或任何东西来模拟服务,只是引入不可靠性导致Web服务库失败所以我可以妥善处理这种情况。这可能是在本地运行的代理服务器。
我使用Eclipse Java EE 3.6,但Netbeans,IntelliJ和JDeveloper也是选项。
最好的方法是什么?
答案 0 :(得分:4)
Tcpmon,http://ws.apache.org/commons/tcpmon/index.html可以设置为充当代理,甚至可以模拟慢速连接。 那会让你有机会模拟“抱歉,不在这里”和“是的,我们在这里,但我们超时”。
答案 1 :(得分:0)
任何引入的不稳定都可能导致错过操作不稳定的途径。旨在覆盖代码中的所有潜在错误向量,而不是尝试减少特定内容。
答案 2 :(得分:0)
由于您没有详细说明您的设置,可能会在此处抛出异常并且足够了吗?
说真的,对于像这样的集成测试,我建议运行一个真正的Web服务容器的一些子集。
基于服务的逻辑,由于以下原因,它可能表现得不可靠:
答案 3 :(得分:0)
我认为,不是在Web服务应用程序的运行实例中引入不可靠性,而是最好在单元/集成测试中模拟错误条件,并断言您的顶层服务以您希望的方式响应
例如: