testcontainers / testcontainers/testcontainers-python

Allow option to keep the containers alive

Ouverte
#109 18 commentaires 23 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

🐣 good first issue 🤝 contributions are welcome 🛟 help wanted
Langage dominant
Python
Étoiles
2.3k
Forks
386
Merge moyen
4 h 40 min
PR mergées (30 j)
1

Description

It would be nice to keep the docker containers alive for speeding up the test runs. Now, in every test run containers are re-created and can't keep them alive since this block

  def __del__(self):
        """
        Try to remove the container in all circumstances
        """
        if self._container is not None:
            try:
                self.stop()
            except:  # noqa: E722
                pass

removes containers when the instance variable is deleted (when the program terminates) and I cannot override it because this also runs without using with as block.

I don't want my Mysql container to be recreated everytime. I am running tests very frequently and I am waiting couple seconds everytime. Pretty annoying.

I can make a small PR if that makes sense?

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

Commencez par lire testcontainers/core/container.py autour de la méthode del et suivez la façon dont les conteneurs sont arrêtés à la fin d’une exécution de tests, y compris leur utilisation en dehors d’un bloc with. Définissez le comportement du cycle de vie de l’option à la fois pour les conteneurs gérés par contexte et pour les conteneurs créés directement ; le travail est considéré comme terminé lorsqu’un appelant peut maintenir un conteneur MySQL actif entre les exécutions sans nettoyage automatique.

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

Évaluation

Stack technique
docker, python
Domaine
devops, testing
Type d'issue
Fonctionnalité
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

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