nodejs / nodejs/node

support predictive test selection with test runner

Ouverte
#54,173 2 commentaires 4 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

feature request never-stale stale test_runner
Langage dominant
JavaScript
Étoiles
122k
Forks
37.3k
Merge moyen
4 j 2 h
PR mergées (30 j)
283

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Aucun fichier d’implémentation ni test n’est nommé. Commencez par examiner l’API de Node's Test Runner et les points d’entrée de la CLI, puis comparez l’interface proposée avec le comportement de Jest pour --onlyChanged et --changedSince ; le travail est considéré comme terminé lorsqu’un design convenu pour la sélection prédictive et sa limite d’intégration avec le contrôle de version est établi.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript, node.js
Domaine
api, cli, testing-qa
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.