Find a way to filter concept exercises by taskno from the command line (concept exercises)

Ouverte
#87 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
30/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
python
Domaine
cli, testing

Piste de recherche

Commencez par lire l’utilisation des marqueurs pytest et les fonctions conftest mentionnées dans l’issue, puis reproduisez le problème de sélection des tâches avec un exercice conceptuel. Étudiez comment pytest expose les arguments des marqueurs depuis la ligne de commande. Le travail est terminé lorsque les utilisateurs peuvent sélectionner des tests à l’aide de taskno numérique sans dépendre de pytest -k et sans sélectionner de tests sans rapport.

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

Description

Hi,
Pytest test suites in Exercism contain custom marks in the form of @pytest.mark.task(taskno=X) where X is a whole number. At least in concept exercises, this number corresponds to the task inside the supplied README file.
While doing a concept exercise, I wanted to select pytest tests to run and filter them by this taskno parameter but failed to do so. What I tried:

  1. @BethanyG sent me a link to StackOverflow thread which shows one similar problem:

However, the example code allows to run marks with arguments looking like this:
@pytest.mark.task("taskno1")

Perhaps there is a way to modify something in the conftest functions but I haven't wrapped my head around it.

  1. I tried a plugin called pytest-pilot

It supplies easier syntax for solving similar problems as 1 but also didn't help me solve the problem. I would get an error IndexError: tuple index out of range.

What I use now:

  1. pytest -k keyword_you_need
    It usually works, but sometimes I still select more of fewer tests than needed
  2. pytest --tb=short
    I don't like long error messages from pytests so this is another way to limit pytest from adding too much unwanted output.

Filtering by task number would be "nice to have", but I think solving this problem is interesting in itself. All help is welcome :)

Langage dominant
Python
Étoiles
13
Forks
20
Métriques de merge des PR
Aucune PR mergée en 30 j

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

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.

Autres issues de exercism/python-test-runner

Toutes les issues de exercism/python-test-runner

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

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