Test harness stops at the first thrown error and prints a stale check count

Offen
#203 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
45/100
Issue-Typ
Refactoring
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
javascript, nodejs
Bereich
testing-qa

Rechercherichtung

The harness is hand-rolled eq/has/throws helpers in site/checks.test.mjs (around lines 52-75 and the summary near 817-822) and site/lib/lib.test.mjs (lines 16-38 and the summary near 1156-1162). Read those helpers and run npm test to see how one thrown exception stops the run. Done means a thrown error in one section no longer hides later results, the printed check count matches the real number of sections, and a single test can be selected by name, ideally via node:test's --test-name-pattern while keeping npm test as the entry point.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

help wanted priority: low tests

Summary

Both test files hand-roll eq/has/throws. An exception inside any section (as opposed to a failed eq) kills the process before the failure report prints, hiding every later assertion.

Where

  • site/checks.test.mjs:52-75, 817-822
  • site/lib/lib.test.mjs:16-38, 1156-1162

Details

checks.test.mjs prints a hard-coded "across 30 checks" while the file has 26 V-sections. lib.test.mjs is 1,163 lines in one scope and is the most-changed file in the repo.

Impact

One crash masks all other failures; no way to run a single test.

Suggested fix

Migrate section by section to the built-in node:test + node:assert (ships with Node 22, no dependency): per-test isolation, --test-name-pattern, real counts. Keep npm test as the entry point.

Acceptance criteria

  • A thrown error in one test does not hide the others
  • npm test reports real counts
  • A single test can be run by name

Getting started

  • Relevant files: site/checks.test.mjs, site/lib/lib.test.mjs, package.json
  • How to run tests: npm test (unit tests), npm run check (tests + validate + build). Node 22+, no dependencies.
  • Related docs: site/README.md, CONTRIBUTING.md

Filed by repo-audit/full-audit at 982fcd9. Severity: low. Effort: M. audit-key: testing|site/lib/lib.test.mjs|harness

Vorherrschende Sprache
JavaScript
Sterne
58
Forks
15
Ø Merge
1 T. 14 Std.
Gemergte PRs (30 T.)
11

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus TMHSDigital/Free-Game-Dev-Assets

Alle Issues in TMHSDigital/Free-Game-Dev-Assets

Ähnliche Issues

Weitere Issues zu JavaScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.