我们目前正在建立一个GitOps-工作流。我想知道的是如何最好地包含我们的e2e测试。正如我想确保的那样,在允许合并请求获得批准之前,整个应用程序都会完美无缺地运行,测试应该针对中的每个MR运行。但是e2e测试会在哪里进行呢?我的直觉是将e2e测试添加到GitOps中,这样,如果我想更改部署,并且必须添加/修改相应的e2e-test,那么我只有一个MR。但也许有更好的解决方案?我想要避免的是在不同的存储库中有多个MR (一个MR用于e2e测试,另一个用于GitOps),这些存储库必须一起运行,或者必须按照定义的顺序执行/合并。你是怎么解决这个难题的?
发布于 2022-08-15 09:29:47
我个人的偏好是把测试放在它正在测试的代码附近。但是,由于E2E正在测试不同的软件片段,我假设这些软件在您的组织中是在不同的repos中分离的,所以在repos中分散这些测试是没有意义的。我看到你有一个叫做"GitOps回购“的回购,它似乎对CI/CD的某些部分负责,对吗?我想你可以把E2E放在那里。
如果您正在使用Kubernetes,您可以检查testkube,它允许在您的环境中轻松地存储和部署您的端到端测试。1:https://testkube.kubeshop.io/
发布于 2022-09-29 16:34:54
E2E测试是最昂贵的测试,在每个合并请求上运行E2E测试是不建议的,而且似乎是过分的。
每次合并都需要运行E2E,这表明了根本问题。
集成测试和E2E应该处于后期阶段,但在“发布升级”阶段之前。
https://stackoverflow.com/questions/68457319
复制相似问题