【问题标题】:How to run Integration Tests in CI-Server between Backend and Frontend Projects?如何在后端和前端项目之间的 CI-Server 中运行集成测试?
【发布时间】:2017-08-19 16:24:57
【问题描述】:

我已经建立了一个项目,分为后端 git 存储库(node.js rest api)和前端 git 存储库(角度 4)。 我已经设置了 Gitlab-CI 来为每个 repo 运行我的测试。现在我想确保当我在前端或后端进行更改时我的软件不会停止。 我想到了这个想法:当我推送我的前端项目时,我可以克隆我的实际后端,然后运行从 FE 到 BE 的集成测试。另一方面,当我推送后端时,我必须克隆我的前端并再次从 FE 到 BE 运行相同的集成测试。 有没有其他办法?我也想创建一个新的存储库并将前端和后端存储库用作 git 子模块?那里有最佳实践方法吗?

【问题讨论】:

    标签: rest continuous-integration automated-tests integration-testing qa


    【解决方案1】:

    由于没有 BE,FE 没有意义,您可以将 FE 测试视为集成之一。

    基本上,您使用一种使用服务接口知识与 BE 交互的客户端来测试 REST API 后端。所以你的客户假装是 FE。如果您的测试覆盖率足够好,您可以确定接口中的更改不会破坏数据交换机制。

    但是,仍然可能存在导致“消息格式”修改的更改(但保留了这些消息从 DE 传输到 FE 并返回的机制),因此客户端将无法解析这些消息或解释它们。

    因此,我建议对 BE 或 FE 更改运行这两组测试,并将 FE 测试视为集成测试。

    【讨论】:

    • 是的,这也是我所拥有的。您如何看待使用 git-submodules 将这 2 个存储库合二为一?
    • @Robert 这可能是值得的,但我不会为此付出努力,因为它需要更多的配置和更多的维护,但不会带来很多额外的价值。
    猜你喜欢
    • 1970-01-01
    • 2020-11-01
    • 2018-06-26
    • 1970-01-01
    • 2014-04-25
    • 2017-09-24
    • 2014-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多