Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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 模拟和模拟虚拟服务之间有什么区别?_Java_Unit Testing_Testing_Mocking_Integration Testing - Fatal编程技术网

Java 模拟和模拟虚拟服务之间有什么区别?

Java 模拟和模拟虚拟服务之间有什么区别?,java,unit-testing,testing,mocking,integration-testing,Java,Unit Testing,Testing,Mocking,Integration Testing,我一直在看一个免费的Java库,它可以在单元测试中设置虚拟服务。我不太明白那和嘲笑之间的区别。根据CodeSV的作者所说,他们的库可以实现的不仅仅是模仿。一种方法相对于另一种方法有什么好处?我接受第二条评论作为我问题的答案 模拟将用于单元测试 模拟虚拟服务将用于集成测试,因为它充当服务器,并且正在进行实际的HTTP调用。我接受第二条评论作为我问题的答案 模拟将用于单元测试 模拟虚拟服务将用于集成测试,因为它充当服务器,并且正在进行实际的HTTP调用。从他们的文档中可以看出,这听起来更像是夸大其词

我一直在看一个免费的Java库,它可以在单元测试中设置虚拟服务。我不太明白那和嘲笑之间的区别。根据CodeSV的作者所说,他们的库可以实现的不仅仅是模仿。一种方法相对于另一种方法有什么好处?

我接受第二条评论作为我问题的答案

模拟将用于单元测试


模拟虚拟服务将用于集成测试,因为它充当服务器,并且正在进行实际的HTTP调用。

我接受第二条评论作为我问题的答案

模拟将用于单元测试


模拟虚拟服务将用于集成测试,因为它充当服务器,并且正在进行实际的HTTP调用。

从他们的文档中可以看出,这听起来更像是夸大其词:模拟/存根意味着您正在处理代码,例如,您将模拟/存根服务调用以返回您期望的数据。他们的版本支持真正的服务器并允许您定义响应(集成测试,例如,您的代码将进行实际的HTTP调用)。这不是一个单元测试,这是一个集成测试——这可能是您想要的,也可能不是您想要的。但这可能会为您节省一些精力(需要注意的是,其他工具也可以做到这一点)。谢谢Dave Newton,我确实看了一些文档和他们的Github repo上的一些类,对于像我这样的初学者来说,仍然很困惑:)谢谢,我想我现在开始更好地理解它了,他们在他们的网站上说,他们正在使用它进行单元测试,你认为他们的意思是集成测试吗?我不知道他们的意思——但如果代码正在进行实际的HTTP调用,那么这就是集成测试,因为你正在跨越应用程序边界。从他们的文档中可以看出:,这听起来更像是夸大其词:mock/stubing意味着您正在处理代码,例如,您将模拟/stub服务调用以返回您期望的数据。他们的版本支持真正的服务器并允许您定义响应(集成测试,例如,您的代码将进行实际的HTTP调用)。这不是一个单元测试,这是一个集成测试——这可能是您想要的,也可能不是您想要的。但这可能会为您节省一些精力(需要注意的是,其他工具也可以做到这一点)。谢谢Dave Newton,我确实看了一些文档和他们的Github repo上的一些类,对于像我这样的初学者来说,仍然很困惑:)谢谢,我想我现在开始更好地理解它了,他们在他们的网站上说,他们正在使用它进行单元测试,你认为他们的意思是集成测试吗?我不知道他们的意思——但如果代码正在进行实际的HTTP调用,那么这就是集成测试,因为您正在跨越应用程序边界。