1

我们有一个通过终端工作的服务网格/kubernetes,显示所有不同的 pod 及其不同的名称空间。在每个 pod 内部,您可以通过控制台查看 app.jar。

最近,老板/客户询问我们如何从服务网格/kubernetes 命令行为任何特定 JAR 运行各种 SYSTEM INTEGRATION 测试。谷歌说使用'mvn clean install'、'javac'或'java -jar junit-platform-console-standalone-1.7.2.jar --class-path target --select-class'。这些都因各种原因而失败(mvn 不存在,javac 不存在,jar 说端口正在使用中。当然端口正在使用中,前面提到的同一个 jar 正在使用它)。

当我在 Gitlab(或 Intellij)中查看一个 pod 时,我会看到它拥有的所有测试。但是我如何从 pod 控制台运行这些 SYSTEM INTEGRATION 测试呢?理想情况下是运行所有测试的命令,这将使事情变得容易得多。

编辑:大声笑在评论中。我跟老板澄清了,她说我们要从服务网格中运行系统集成测试,而不是单元测试。这些 pod 不是孤立的,其中一些是相互依赖的。

4

1 回答 1

0

一般来说,用户jonrsharpe的评论可能是对以下问题的回答:

这作为一个请求是没有意义的——你在源代码上运行单元测试, 然后 构建并部署容器,如果它们通过的话。它们甚至不应该包含在部署的 jar 中。

如果您需要测试应用程序,请在部署之前执行此操作。您应该有一个单独的环境来测试您的应用程序,并且仅在应用程序正常工作时使用 Kubernetes。您当然可以使用一些 CI 类型的解决方案。查看此页面 -使用 GitLab CI 为 Kubernetes 托管的应用程序运行 JUnit 测试

编辑如果您正在寻找使用 Kubernetes 进行集成测试的解决方案,您可以阅读一些文档。这完全取决于您要测试的具体内容。我提出了几种可能性:

于 2022-01-05T09:19:40.077 回答