[PYTHON] Utilisation super basique de pytest

Remarques sur l'utilisation de pytest

J'ai touché pytest, donc cette note.

Qu'est-ce que Pytest

Framework de test Python pytest: helps you write better programs ? pytest documentation

Installer pytest

Si vous installez à partir de pip normalement, c'est OK

Installer pytest


pip install pytest

Ecrire un test pour pytest

La méthode d'écriture de base est la suivante.

--Écrire en tant que programme Python

Échantillon du côté à tester

Testeur (programme exécuté à partir de pytest)

test_program.py


from my_funcs import add, sub


def test_add():
    assert add(1, 2) == 3


def test_sub():
    assert sub(3, 1) == 2


class TestCase:
    def test_true(self):
        assert True

    def test_add_zero(self):
        assert add(1, 0) == 1

Côté à tester

my_funcs.py


def add(a, b):
    return a + b

def sub(a, b):
    return a - b

Exécuter pytest

Si vous exécutez pytest normalement, il sera dans le répertoire courant. Exécute automatiquement les fichiers dont les noms de fichier commencent par test_ ou se terminent par _test.

Exécuter pytest


pytest

Lors de la spécification d'un programme de test

pytest Seul le test spécifié par le nom de programme du testeur est exécuté.

Exécutez pytest avec un fichier


pytest test_program.py

Comment lire le résultat de l'exécution

Exemple qui a réussi le test

Résultat d'exécution


==================================== test session starts ====================================
platform linux -- Python 3.6.3, pytest-5.3.0, py-1.8.0, pluggy-0.13.1
rootdir: /mnt/c/Users/nab391/pytest
collected 2 items

test_example1-1.py ..                                                                 [100%]

===================================== 2 passed in 0.02s =====================================

Un exemple de test

Tester NG


==================================== test session starts ====================================
platform linux -- Python 3.6.3, pytest-5.3.0, py-1.8.0, pluggy-0.13.1
rootdir: /mnt/c/Users/nab391/pytest
collected 3 items

test_example1-1.py ..F                                                                [100%]

========================================= FAILURES ==========================================
________________________________________ test_false _________________________________________

    def test_false():
>       assert False
E       assert False

test_example1-1.py:14: AssertionError
================================ 1 failed, 2 passed in 0.08s ================================

Options d'exécution

---s: sortie standard de sortie (par défaut: non) ---v: affiche les détails du résultat (par défaut: non)

Exemple de sortie détaillé


test_example1-1.py::test_add PASSED                                                   [ 50%]
test_example1-1.py::test_sub PASSED                                                   [100%]
###Comment lire le résultat de l'exécution

Recommended Posts

Utilisation super basique de pytest
Utilisation basique de flask-classy
Utilisation de base de Jinja2
Utilisation de base de SQL Alchemy
Utilisation de base de l'interface graphique PySimple
Résumé de l'utilisation de base de Pandas
Utilisation basique de la f-string Python
Utilisation de base de Btrfs dans Arch Linux
résumé de l'utilisation de pytest
[Introduction à Python] Utilisation de base des expressions lambda
Fonctionnement de base des pandas
Résumé de l'utilisation de pyenv
Utilisation des locaux Python ()
Fonctionnement de base des Pandas
Connaissance de base de Python
mémorandum python super basique
Prenez note de la liste des utilisations de base de Pandas
(Débutant) Utilisation de base du magasin de données de Google App Engine
[Introduction à Python] Utilisation basique de la bibliothèque matplotlib
[Python] Utilisation correcte de la carte
Pré-traitement et post-traitement de pytest
Résumé d'utilisation pratique de Flask
Flux de base de détection d'anomalies
notes d'utilisation de la commande virtualenv Basic
Utilisation (minimale) de django logger
Principes de base de XPath (1) - Concept de base de XPath
Exemple d'utilisation de pickle Python
Graphique de base à une ligne de HoloViews
[Python] Utilisation correcte de la jointure
Index d'utilisation de certains pandas
[Dernière version 2020/06] Utilisation basique de la poésie, un outil de gestion des dépendances pour python
[Python] Modèle de base et utilisation de l'instruction if (opérateur de comparaison et opérateur booléen)
Connaissance de base de Linux et des commandes de base
Résumé des connaissances de base de PyPy Partie 1
Résumé de l'implémentation de base par PyTorch
Notes d'utilisation faciles pour Anaconda (conda)
À propos du type de base de Go
Grammaire de base du système Python3 (dictionnaire)
[python] Utilisation correcte de l'instruction if
À propos des commandes Linux Édition super basique
Etude de base d'OpenCV avec Python