Refactoring & portable Testpfade

This commit is contained in:
Tim
2026-07-06 21:51:48 +02:00
parent 9ed66dacbc
commit fc37f44d26
9 changed files with 246 additions and 206 deletions
+18 -4
View File
@@ -72,11 +72,25 @@ Jeder Mock liest seine Konfiguration aus einer State-Datei in `fixtures/`.
Die Tests können diese States über Hilfsfunktionen setzen:
```bash
set_wget_latest_version "0.10.16" # Neueste Version simulieren
set_find_installed_version "0.10.14" # Installierte Version simulieren
set_pgrep_running 1 # Prozess läuft (1) oder nicht (0)
set_wget_latest_version "${VERSION_LATEST}" # Neueste Version simulieren
set_find_installed_version "${VERSION_INSTALLED}" # Installierte Version simulieren
set_pgrep_running 1 # Prozess läuft (1) oder nicht (0)
```
## Versions-Variablen
Versionsnummern sind **nicht hartkodiert** in den Tests, sondern als Variablen
am Anfang der Testdatei definiert. Dummy-AppImages werden on-the-fly erstellt:
```bash
VERSION_LATEST="0.10.15" # Neueste verfügbare Version
VERSION_INSTALLED="0.10.14" # Ältere installierte Version
VERSION_OUTDATED="0.10.13" # Noch ältere Version (für Cleanup-Tests)
```
Um die Tests an eine neue Version anzupassen, reicht es, diese drei Variablen
zu ändern. Die Dummy-AppImages und State-Dateien werden automatisch angepasst.
## Neuen Test hinzufügen
In `test/logseq-installer.bats`:
@@ -84,7 +98,7 @@ In `test/logseq-installer.bats`:
```bash
@test "mein neuer Test" {
# Mock-States setzen
set_wget_latest_version "0.10.16"
set_wget_latest_version "${VERSION_LATEST}"
set_find_installed_version ""
set_pgrep_running 0