Ich habe eine Reihe von (großen) Testdateien, die gepflegt werden müssen. Dies bedeutet, dass der Zugriff auf ihre Historie eine Voraussetzung ist.
Leistungen
- Alle neuen Entwickler erhalten die gesamte Testsuite mit nur einem
git pull
. - Der Verlauf der Dateien wird gesichert.
- Die Dateien selbst werden gesichert.
Nachteile
- Riesige Vergrößerung des Endlagers.
- Riesige Zunahme der Downloadgröße neuer Entwickler, die das Repository kopieren.
Was sind die Best Practices für die Pflege von Testdateien?
Speichere ich diese Dateien in der Quellcodeverwaltung? Gibt es Alternativen?
testing
version-control
files
sdasdadas
quelle
quelle
Antworten:
Speichern Sie sie in der Quellcodeverwaltung. Die von Ihnen aufgeführten Vorteile sind alle sehr gut. Wenn Sie sagen, dass dies zu einer "großen" Größe führt, wie groß sprechen Sie dann? Hunderte von Gigabyte? Terabyte?
Wenn die Speicherung wirklich ein so großes Problem darstellt, können Sie die Dateien komprimieren, die ZIP-Datei in der Quellcodeverwaltung speichern und dann über ein Skript verfügen, das sie entpackt, wenn die Testfälle ausgeführt werden? Auf diese Weise würden Sie den detaillierten Verlauf jeder Datei verlieren (es sei denn, Sie finden ein Tool, das den Verlauf entpackt und im Speicher anzeigt), aber neue Entwickler hätten weiterhin einfachen Zugriff auf Testdateien.
Abhängig von der Art Ihrer Testdaten können Sie über ein Skript zum Generieren von Testdateien verfügen. Dies funktioniert möglicherweise, wenn Sie sehr große Bilder testen, die prozedural generiert werden können (SQL-Einfügungen zum Auffüllen einer Datenbank können auch problemlos von einem Programm oder Skript generiert werden), diese Technik gilt jedoch nicht für alle Arten von Testdaten ...
quelle
Ich würde sie in der Quellcodeverwaltung speichern. Gibt es jemals einen Fall, in dem Sie die Testsuite ohne Code möchten? Macht keinen Sinn. Gibt es jemals einen Fall, in dem Sie den Code bearbeiten möchten, ohne die Testsuite zu aktualisieren? Das sollte es nicht geben.
Nachteil 1 sollte angesichts der Speicherpreise heutzutage kein Problem sein, und moderne SCM-Systeme sollten die Netzwerkaktivität auch außerhalb der Ersteinrichtung nicht zu einem Problem machen.
Ihr Nachteil 2 scheint nicht viel zu sein. Wie oft kommen neue Entwickler an Bord dieses Projekts, sodass die anfängliche Klonzeit zu einem Problem wird?
quelle
Ich würde sie in einem anderen Repo aufbewahren. Die von Ihnen genannten Nachteile sind unvermeidlich, wenn Sie eine umfangreiche Testsuite haben.
quelle