【问题标题】:How to run junit system integration tests in kubernetes/service mesh?如何在 kubernetes/service Mesh 中运行 junit 系统集成测试?
【发布时间】:2022-01-04 19:42:57
【问题描述】:

我们有一个通过终端工作的服务网格/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 测试呢?理想情况下是运行所有测试的命令,这会使事情变得容易得多。

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

【问题讨论】:

  • 这作为一个请求毫无意义 - 您对源代码运行单元测试,然后构建并部署容器(如果它们通过)。它们甚至不应该包含在部署的 jar 中。
  • 您的老板/客户需要进行现实检查,恕我直言...

标签: kubernetes junit servicemesh


【解决方案1】:

一般来说,来自用户jonrsharpe 的评论可能是问题的答案:

这作为一个请求毫无意义 - 您对源代码运行单元测试,然后构建并部署容器(如果它们通过)。它们甚至不应该包含在部署的 jar 中。

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

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

【讨论】:

  • 我编辑了我的帖子以阐明我们想要运行系统集成测试,而不是单元测试
  • @MichaelNorton,我已经编辑了答案。
  • 你好@MichaelNorton。这现在回答你的问题了吗?请考虑accepting and upvoting answers,它可以帮助您前进。这样你就可以向社区表明这个答案是正确/有用的,并且可以被其他人使用。
猜你喜欢
  • 2020-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-07
  • 2018-08-23
  • 1970-01-01
  • 2019-11-19
相关资源
最近更新 更多