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.json festgelegte .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

  1. Erstellen Sie das ZIP aus einem sauberen Staging-Ordner.
  2. Entpacken Sie es in einen neuen temporären Ordner.
  3. Vergleichen Sie Dateibaum und SHA-256 jedes Payload-Files mit Staging.
  4. Wiederholen Sie die native payload probes für client und client-without-yoko aus dem entpackten Ergebnis.
  5. 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.