Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.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 在Maven测试运行期间禁用网络访问_Java_Maven_Jenkins_Junit_Maven Surefire Plugin - Fatal编程技术网

Java 在Maven测试运行期间禁用网络访问

Java 在Maven测试运行期间禁用网络访问,java,maven,jenkins,junit,maven-surefire-plugin,Java,Maven,Jenkins,Junit,Maven Surefire Plugin,我试图通过确保Jenkins构建在测试试图进行出站网络调用时失败(表明模拟没有完成),来改进我们的单元测试。在Java、JUnit、Maven、Surefire、Jenkins或流程的任何其他部分中,我都找不到禁用网络连接的方法。有办法做到这一点吗?最好是作为我们可以为新项目启用的东西(这样我们就不会让所有的旧东西都无法构建)。我是否正确理解您的单元测试使用模拟来阻止网络访问?除此之外,你可以尝试在一个可以控制的docker容器中运行你的构建。但我认为这将是一件很难做到的事情…但问题是:禁用网络

我试图通过确保Jenkins构建在测试试图进行出站网络调用时失败(表明模拟没有完成),来改进我们的单元测试。在Java、JUnit、Maven、Surefire、Jenkins或流程的任何其他部分中,我都找不到禁用网络连接的方法。有办法做到这一点吗?最好是作为我们可以为新项目启用的东西(这样我们就不会让所有的旧东西都无法构建)。

我是否正确理解您的单元测试使用模拟来阻止网络访问?除此之外,你可以尝试在一个可以控制的docker容器中运行你的构建。但我认为这将是一件很难做到的事情…但问题是:禁用网络访问以找到一些不使用模拟进行联网的测试的唯一原因吗?很少进行模拟,我想通过让没有正确使用mock的测试在Jenkins构建中失败来强烈鼓励mock。这不仅仅是寻找测试,它是为了防止人们在没有适当模拟的情况下在未来构建测试。嗯…防止人们使用模拟?一般还是仅针对特定测试?我不确定真正的问题是什么,但可能是要看的东西?我不想阻止人们使用mock;我想阻止人们在没有模拟的情况下编写测试,让单元测试调用真正的服务。阻止人们在没有模拟的情况下编写测试听起来很奇怪,因为有时候没有模拟会更容易。。你所说的“让单元测试调用真正的服务”是什么意思(我的观点是:服务通常已经是集成测试了,但这要视情况而定)。我是否正确理解你的单元测试使用模拟来阻止网络访问?除此之外,你可以尝试在一个可以控制的docker容器中运行你的构建。但我认为这将是一件很难做到的事情…但问题是:禁用网络访问以找到一些不使用模拟进行联网的测试的唯一原因吗?很少进行模拟,我想通过让没有正确使用mock的测试在Jenkins构建中失败来强烈鼓励mock。这不仅仅是寻找测试,它是为了防止人们在没有适当模拟的情况下在未来构建测试。嗯…防止人们使用模拟?一般还是仅针对特定测试?我不确定真正的问题是什么,但可能是要看的东西?我不想阻止人们使用mock;我想阻止人们在没有模拟的情况下编写测试,让单元测试调用真正的服务。阻止人们在没有模拟的情况下编写测试听起来很奇怪,因为有时候没有模拟会更容易。。您所说的“让单元测试调用真正的服务”是什么意思(我的观点是:服务通常已经是集成测试了,但这要视情况而定)。