Page 1 of 1

所有这些加起来看起来就像这样

Posted: Mon Mar 24, 2025 4:02 am
by roseline371274
我们在这篇相当广泛的博客文章中涵盖了很多内容。我们展示了如何创建一个多层应用程序,其中所有层都在 Docker 容器中运行。为了快速创建整个设置,这里回顾了启动和运行容器集群所需的所有语句:


请注意,我们不再发布 Spring Boot 应用程序端口。由于我们在所有容器中 华人海外数据 都使用了 docker 网络,因此它们可以访问彼此的端口,而无需明确公开它们。也不需要发布单独的 Spring Boot 应用程序端口,因为我们希望 NGINX 负载均衡器处理所有流量并成为我们应用程序的唯一网关。

使用所有这些单独的 docker cli 语句非常麻烦,幸运的是,有更好的方法来协调这样的容器组合,即Docker Compose。

在我们的下一篇(希望会短很多)博客文章中,我们将深入研究 Docker Compose,并使用它以更易于管理的方式重建这篇博客文章中的设置。


在我们之前的例子中,Rainy Day 场景仅检查“我们自己的”管道步骤上的交互,但没有检查 Jenkins 预装的管道步骤。
为了使我们能够做到这一点,我们必须根据需要在测试期间创建一个 Mock 或 Stub。

为此,我们在Spock 测试的子句中指定了 Mock:givenCopy


<span class="copy">Copy</span>
我们像任何其他步骤一样使用隐式调用注册一个 Mock,并指定 HashMap 作为其参数。在运行该子句之前,在该特定测试的设置阶段期间执行
。由于这是我们测试的本地测试,因此此 Mock 仅适用于本次测试,而不适用于之前或之后的任何测试。这使我们能够定义特定于单个测试的行为,其中我们的 Stubs 不会干扰其他测试。givenCopywhenCopy


上述测试检查是否发生了解释由我们的 maven 调用生成的 junit 测试结果的调用,如果没有运行则会失败。由于 June 调用是在阶段的后期块内的always块中指定的,因此无论阶段内步骤的结果如何,都应该始终执行它。

后续步骤Next steps
我向您展示了如何使用 Spock 和其他测试框架进行声明式 Jenkins 管道的几个常见示例,这应该使您能够开始为管道编写自己的测试!
在下一篇文章中,我将尝试找到一些更晦涩的例子并执行一些 Groovy/Spock 技巧,这些技巧可能会在以后派上用场。