Comment exécuter setUp une seule fois dans Python Unittest

Environnement confirmé

Aperçu

Lorsque unittest effectue plusieurs tests, setUp est exécuté à chaque fois que le test est appelé. Cependant, si le processus setUp est lourd, son exécution prendra trop de temps car il est appelé plusieurs fois.

Donc, si vous souhaitez appeler setUp une seule fois, comment devez-vous l'écrire? Il est résolu en définissant setUpClass au lieu d'utiliser setUp.

Le code suivant est donné à titre d'exemple spécifique.

test_setup.py


import unittest

class HogeTest(unittest.TestCase):

    def setUp(self):
        print('Called `setUp`.')

    @classmethod
    def setUpClass(self):
        print('Called `setUpClass`.')

    def test_called1(self):
        self.assertTrue(True)

    def test_called2(self):
        self.assertTrue(True)

    def test_called3(self):
        self.assertTrue(True)

Ce code a une méthode qui est exécutée lorsque setUp et setUpClass sont initialisés. Ce sont les méthodes fournies par unittest respectivement. En outre, la méthode ici est définie pour afficher une chaîne de caractères à chaque fois qu'elle est exécutée. En outre, trois tests sont définis.

Voyons maintenant si la chaîne de sortie se comporte comme prévu par ce code. Attendez-vous à ce que la chaîne de caractères dans setUp soit sortie plusieurs fois, et que la chaîne de caractères dans setUpClass soit sortie une fois.

Voici le résultat de l'exécution réelle.

$ python3 -m unittest test_setup.py
Called `setUpClass`.
Called `setUp`.
.Called `setUp`.
.Called `setUp`.
.
----------------------------------------------------------------------
Ran 3 tests in 0.001s

OK

Il a été confirmé que cela fonctionnait comme prévu.

référence

qiita: modèle de test unitaire python stackoverflow: Run setUp only once

Recommended Posts

Comment exécuter setUp une seule fois dans Python Unittest
Comment exécuter des tests avec Python unittest
Comment exécuter LeapMotion avec Python non-Apple
Comment exécuter Notepad ++ Python
Comment développer en Python
Comment exécuter python dans l'espace virtuel (pour MacOS)
Comment lire un csv contenant uniquement des entiers en Python
[Python] Comment faire PCA avec Python
Comment collecter des images en Python
Comment utiliser SQLite en Python
Comment utiliser Mysql avec python
Comment envelopper C en Python
Comment utiliser ChemSpider en Python
Comment utiliser PubChem avec Python
Comment exécuter du code TensorFlow 1.0 en 2.0
Comment gérer le japonais avec Python
Comment tester cette exception est déclenchée dans python unittest
[Introduction à Python] Comment utiliser la classe en Python?
Comment installer OpenCV sur Cloud9 et l'exécuter en Python
Comment définir dynamiquement des variables en Python
Comment faire R chartr () en Python
Unittest en Python
[Itertools.permutations] Comment créer une séquence en Python
Comment utiliser BigQuery en Python
Comment afficher la table quatre-vingt-dix-neuf en python
Comment extraire une zone de polygone en Python
Comment vérifier la version d'opencv avec python
[Python2.7] Résumé de l'utilisation d'unittest
Comment changer de version de Python dans cloud9
Comment régler le contraste de l'image en Python
Comment utiliser __slots__ dans la classe Python
Comment remplir dynamiquement des zéros avec Python
Comment utiliser les expressions régulières en Python
Comment afficher Hello World en python
Comment utiliser is et == en Python
Comment écrire Ruby to_s en Python
Comment exécuter des scripts Maya Python
Comment utiliser la bibliothèque C en Python
Comment recevoir des arguments de ligne de commande en Python
[REAPER] Comment jouer à Reascript avec Python
Comment effacer un taple dans une liste (Python)
Comment générer une séquence en Python et C ++
Comment incorporer des variables dans des chaînes python
Résumé de la façon d'importer des fichiers dans Python 3
Comment simplifier l'ajustement polymorphe restreint en python
Comment utiliser la bibliothèque d'images Python dans la série python3
Comment implémenter la mémoire partagée en Python (mmap.mmap)
Comment créer un fichier JSON en Python
Comment exécuter CNN en notation système 1 avec Tensorflow 2
Comment exécuter MeCab sur Ubuntu 18.04 LTS Python
Résumé de l'utilisation de MNIST avec Python
Comment notifier les canaux Discord en Python
Comment obtenir les fichiers dans le dossier [Python]
Comment utiliser tkinter avec python dans pyenv
[Python] Comment dessiner un histogramme avec Matplotlib
Comment générer "Ketsumaimo" en standard en Python
Comment gérer le type datetime dans sqlite3 de python