0

Ich habe ein Projekt erstellt, das in das Backend-Git-Repository (node.js rest api) und das Frontend-Git-Repository (eckle 4) unterteilt ist. Ich habe Gitlab-CI eingerichtet, um meine Tests für jedes Repo durchzuführen. Jetzt möchte ich sicherstellen, dass meine Software nicht bremst, wenn ich Änderungen im Frontend oder im Backend mache. Ich kam zu dieser Idee: Wenn ich mein Frontend-Projekt dränge, kann ich mein tatsächliches Backend klonen und dann Integrationstests von FE zu BE laufen lassen. Auf der anderen Seite, wenn ich Backend drücke, muss ich mein Frontend klonen und die gleichen Integrationstests erneut von FE nach BE durchführen. Gibt es vielleicht einen anderen Weg? Ich habe auch ein neues Repository erstellt und Frontend- und Backend-Repos als git-Submodule verwendet. Gibt es einen Best-Practice-Weg da draußen?Wie führe ich Integrationstests im CI-Server zwischen Backend- und Frontend-Projekten durch?

Antwort

1

Da FE ohne BE keinen Sinn ergibt, können Sie FE-Tests als Integration betrachten.

Im Grunde testen Sie REST-API-Back-End mit einer Art von Client, der mit BE interagiert unter Verwendung von Wissen der Service-Schnittstelle. Ihr Kunde gibt also vor, ein FE zu sein. Wenn Ihre Testabdeckung gut genug ist, können Sie sicher sein, dass die Änderungen in der Schnittstelle den Datenaustauschmechanismus nicht durchbrechen würden.

Es könnte jedoch immer noch die Änderungen geben, die die "Nachrichtenformat" -Änderungen verursachen (aber den Mechanismus behalten, dass diese Nachrichten von DE zu FE und zurück übertragen werden), so dass der Client diese Nachrichten nicht parsen oder interpretieren könnte.

Daher würde ich empfehlen, beide Tests entweder auf BE- oder FE-Änderungen auszuführen und FE-Tests als Integrations-Tests zu betrachten.

+0

ja das, was ich auch über habe. was denkst du darüber, diese 2 repositorys durch den einsatz von git-submodulen zu einem zu machen? – Robert

+0

@Robert das ist es wahrscheinlich wert, aber ich würde mich nicht anstrengen, da es etwas mehr Konfiguration und etwas mehr Wartung erfordert, aber nicht viel zusätzlichen Wert einführen. –

Verwandte Themen