Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用mock测试基于soap的应用程序?_Java_Soap_Integration Testing - Fatal编程技术网

Java 如何使用mock测试基于soap的应用程序?

Java 如何使用mock测试基于soap的应用程序?,java,soap,integration-testing,Java,Soap,Integration Testing,我有两个web应用程序,它们都有web服务。假设应用程序1有3个web方法,而应用程序2只有1个web方法,可以返回不同的结果。此外,app One中的所有webmethods在app Second中调用web方法 目标是为应用程序1创建集成测试。 我可以为appone中的每个webmethod创建soapui测试,还可以添加第二个app的mock。但当每个方法的测试并行执行时,我必须“告诉”mock“现在您返回该数据,但现在有异常”。我需要的是,模拟能够识别,当它收到第二个应用程序的请求,从1

我有两个web应用程序,它们都有web服务。假设应用程序1有3个web方法,而应用程序2只有1个web方法,可以返回不同的结果。此外,app One中的所有webmethods在app Second中调用web方法

目标是为应用程序1创建集成测试。

我可以为appone中的每个webmethod创建soapui测试,还可以添加第二个app的mock。但当每个方法的测试并行执行时,我必须“告诉”mock“现在您返回该数据,但现在有异常”。我需要的是,模拟能够识别,当它收到第二个应用程序的请求,从1,2或3的网络方法在应用程序一。当我为应用程序一创建请求时,我无法控制它将子请求转为应用程序二。因此,为了区分它们,我必须(以某种方式)标记整个需求链:

Request1 -> App One (WebMethod1) -> SubRequest1 -> Mock
例如,如果我可以在Request1中添加Http头,该头也可以重新转换为SubRequest1,则Mock将分析该头并返回/抛出我想要的内容。但实际上HttpHeader并没有被重传。我可以为此添加java代码,但仅用于测试的代码不是很好

是否有任何方法或方法来进行该测试?这是一个简化的示例,在实际情况中,有两个以上的通信应用程序和更多的web方法

重要

这个问题与单元测试或EasyMock、PowerMock和Mockito无关。这些框架与单元测试相关,但我需要集成测试。

可以让您了解如何使用和模拟服务


希望我能帮忙

Junit EasyMock=、PowerMock和Mockito可用于集成测试:)Hm您能提供更多细节(可能是示例的链接)吗?Hmm您有什么好处吗?