DE Build and Testing - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
Build und Tests — Deutsch
Home · BASIC · UO API · A–Z · Examples · Languages
Voraussetzungen für einen Source-Build
- Windows x64 und 64-Bit-PowerShell;
- das in
global.jsonfestgelegte .NET SDK oder ein kompatibler Patch derselben Feature-Band; - erreichbarer NuGet-Cache oder Netzwerkzugang zum Restore;
- Node.js und npm, wenn Eclipse Theia neu gebaut wird;
- ausreichend freier Speicher für NativeAOT und beide Editionen.
.NET-Projekte prüfen
Führen Sie aus dem Wurzelordner der Full-Quellen aus:
dotnet --version
dotnet restore .\ClassicUO.sln -p:NuGetAudit=false
dotnet test .\tests\ClassicUO.UnitTests\ClassicUO.UnitTests.csproj -c Release
dotnet test .\external\InjectionScript\src\InjectionScript.Tests\InjectionScript.Tests.csproj -c Release
dotnet test .\external\InjectionScript\src\InjectionScript.Lsp.Tests\InjectionScript.Lsp.Tests.csproj -c Release
Das SDK muss mit global.json übereinstimmen. Ein erfolgreicher Full-Build ersetzt nicht die eigenständige Prüfung der Without-Basic-Quellen.
Basic IDE neu bauen
Die Theia-Anwendung liegt unter external\YokoTheia:
cd .\external\YokoTheia
npm install
npm run build
Ändern Sie Lockfile oder Theia-Abhängigkeiten nur zusammen mit einem vollständigen IDE-Regressionslauf.
NativeAOT
Der auslieferbare Windows-Client wird als NativeAOT x64 geprüft. Ein grafischer Smoke-Test benötigt lokale Ultima-Online-Spieldaten. Diese Daten gehören nicht in das Repository oder Release.
Obligatorische Testbereiche
- ClassicUO Full Unit Tests;
- ClassicUO Without-Basic Unit Tests;
- InjectionScript Runtime Tests;
- LSP-/IDE-Tests;
- NativeAOT-Build beider Clients ohne Fehler;
- API-Paritätsaudit ohne Abweichung;
- native payload probes beider Editionen;
- Prüfung eines frisch entpackten Release-Archivs.
Funktionale Regressionen müssen außerdem AutoLoad-Auswahl pro Charakter, Basic Auto Load, Basic Example, Dateispeicherung, Volltextindexierung ohne Scrollen, Run/Debug/Pause/Continue/Step/Stop, parallele Skripte, Statusfarben, Lokalisierung und die Abwesenheit von Basic in der separaten Edition prüfen.
API-Audit
Missing from Manual: 0
Not registered in Runtime: 0
Invalid signatures: 0
Duplicate entries: 0
Invalid Basic Script examples: 0
Release-Archiv prüfen
- Erstellen Sie das ZIP aus einem sauberen Staging-Ordner.
- Entpacken Sie es in einen neuen temporären Ordner.
- Vergleichen Sie Dateibaum und SHA-256 jedes Payload-Files mit Staging.
- Wiederholen Sie die native payload probes für
clientundclient-without-yokoaus dem entpackten Ergebnis. - Veröffentlichen Sie die SHA-256-Prüfsumme des ZIP separat.
Automatische Tests ersetzen keine Verbindung zu einem echten Server. Server-Gumps, Shard-spezifische Paketerweiterungen, visuelle Skalierung und Funktionen, die konkrete Spieldaten benötigen, müssen zusätzlich interaktiv getestet werden.