maksit-webui/utils/Run-Tests
2026-05-30 14:25:22 +02:00
..
CorePlugins (feature): packages updates and tests 2026-05-24 20:48:35 +02:00
CustomPlugins (feature): packages updates and tests 2026-05-24 20:48:35 +02:00
EngineSupport.psm1 (feature): packages updates and tests 2026-05-24 20:48:35 +02:00
PluginSupport.psm1 (bugfix): gray out disabled and read-only editor fields. 2026-05-30 14:25:22 +02:00
README.md (feature): packages updates and tests 2026-05-24 20:48:35 +02:00
Run-Tests.bat (feature): packages updates and tests 2026-05-24 20:48:35 +02:00
Run-Tests.ps1 (bugfix): gray out disabled and read-only editor fields. 2026-05-30 14:25:22 +02:00
scriptsettings.json (feature): packages updates and tests 2026-05-24 20:48:35 +02:00

Run Tests

Plugin-driven test engine (same pattern as src/Release-Package).

Run

pwsh -File .\src\Run-Tests\Run-Tests.ps1

Or:

src\Run-Tests\Run-Tests.bat

Core plugins

Plugin Role
DotNetTest dotnet test + Coverlet Cobertura (.NET repos)
NpmJestTest npm test -- --coverage + Jest coverage-summary.json
QualityGate Optional line-coverage threshold from shared context
CoverageBadges SVG badges for README (assets/badges/)

Configure plugin order and settings in scriptsettings.json.

Shared context

Test plugins publish metrics for downstream plugins:

  • qualityLineCoverage, coverageLineRate, coverageBranchRate, coverageMethodRate
  • testResult (full result object from TestRunner)

QualityGate and CoverageBadges read these keys; they do not re-run tests.

npm/Jest example

Replace DotNetTest with:

{
  "name": "NpmJestTest",
  "stageLabel": "test",
  "enabled": true,
  "workspaceRoot": "..\\..\\src",
  "testScript": "test",
  "coverageDirectory": "coverage"
}

Legacy entry point

src/Generate-CoverageBadges/Generate-CoverageBadges.ps1 forwards to this engine.

Custom plugins

Add CustomPlugins/YourPlugin.psm1 with Invoke-Plugin, then register it in scriptsettings.json.