nodejs / nodejs/node

support predictive test selection with test runner

Offen
#54,173 2 Kommentare 4 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

feature request never-stale stale test_runner
Vorherrschende Sprache
JavaScript
Sterne
122k
Forks
37.3k
Ø Merge
4 T. 2 Std.
Gemergte PRs (30 T.)
283

Beschreibung

What is the problem this feature will solve?

Very large projects that have a lot of tests take a very long time to run the full tests suite.
Running all of the tests can be avoided, by doing Predictive Test Selection to select only a subset of tests to run.
This enables speeding up the Continuous Integration turnaround time for users using Test Runner.

What is the feature you are proposing to solve the problem?

Some interface, whether programmatic API or CLI, to do predictive test selection.
If we look at Jest as an example (of a popular testing framework), they have:
--onlyChanged and --changedSince, which analyze the (transitive) source code dependencies of the tests and of the changes in Git/Hg, to select only tests that have a source dependency on the changes.

What alternatives have you considered?

Not sure we'll want to lock in users to Git/Hg, some may want to use a different version control solution, so perhaps the integration with the specific source control can be left up to the community. What Node needs IMO is some interface for such library author to use.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Es werden keine Implementierungsdateien oder Tests genannt. Beginne mit der Prüfung von Node's Test Runner API und den CLI-Einstiegspunkten und vergleiche anschließend die vorgeschlagene Schnittstelle mit dem Verhalten von Jest bei --onlyChanged und --changedSince; abgeschlossen ist die Aufgabe, wenn ein abgestimmtes Design für die prädiktive Auswahl und ihre Integrationsgrenze zur Quellcodeverwaltung vorliegt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, node.js
Bereich
api, cli, testing-qa
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

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