[PYTHON] Vor- und Nachbearbeitung von Pytest

Vor- und Nachbearbeitung von Pytest

Für jeden Testgegenstand, jede Testklasse und jedes gesamte Testmodul (py-Datei) mit pytest Schreiben, um Vor- und Nachbearbeitung durchzuführen.

Zusammenfassung

Funktionen / Methoden, die als Ziele für die Vorverarbeitung / Nachbearbeitung verwendet werden sollen

--Jede Testfunktion (test_ ~~) --setup_function (function) undteardown_function (function) --Jede Testmethode der Testklasse (test_ ~~ in der Klasse) --setup_method (self, method) undteardown_method (self, method)

Beispiel (beim Schreiben in xunit)

Beim Schreiben in xunit


def setup_module(module):
    print("\n*** setup_module ***")

def teardown_module(moduloe):
    print("\n*** teardown_module ***")

def setup_function(function):
    print("\n=== setup_function ===")

def teardown_function(function):
    print("\n=== teardown_function ===")

def test_test1():
    print("test1")

def test_test2():
    print("test2")


class TestCase:
    @classmethod
    def setup_class(cls):
        print("\n@@@ setup_class @@@")

    @classmethod
    def teardown_class(cls):
        print("\n@@@ teardown_class @@@")

    def setup_method(self, method):
        print("\n--- setup_method ---")

    def teardown_method(self, method):
        print("\n--- teardown_method ---")

    def test_test3(self):
        print("test3")

    def test_test4(self):
        print("test4")

Ausführungsergebnis

Ausführungsergebnis


==================================== test session starts ====================================
platform linux -- Python 3.6.3, pytest-5.3.0, py-1.8.0, pluggy-0.13.1 -- /home/bskke1040/.pyenv/versions/3.6.3/bin/python3.6
cachedir: .pytest_cache
rootdir: /mnt/c/Users/bskke1040.KMJP/Clouds/OneDrive/study/pytest
collected 4 items

test_sample.py::test_test1
*** setup_module ***

=== setup_function ===
test1
PASSED
=== teardown_function ===

test_sample.py::test_test2
=== setup_function ===
test2
PASSED
=== teardown_function ===

test_sample.py::TestCase::test_test3
@@@ setup_class @@@

--- setup_method ---
test3
PASSED
--- teardown_method ---

test_sample.py::TestCase::test_test4
--- setup_method ---
test4
PASSED
--- teardown_method ---

@@@ teardown_class @@@

*** teardown_module ***


===================================== 4 passed in 0.05s =====================================

Probe (beim Schreiben mit Fixture)

Beim Schreiben mit Fixture


import pytest


@pytest.fixture(scope="module")
def my_setup_module(request):
    print("\n######## my_setup_module ########")

    def my_teardown_module():
        print("\n######## my_teardown_module ########")
    request.addfinalizer(my_teardown_module)


@pytest.fixture()
def my_setup_function(request):
    print("\n--- my_setup_function ---")

    def my_teardown_function():
        print("\n--- my_teardown_function ---")
    request.addfinalizer(my_teardown_function)


@pytest.fixture(scope="class")
def my_setup_class(request):
    print("\n***** my_setup_class *****")

    def my_teardown_class():
        print("\n***** my_teardown_class *****")
    request.addfinalizer(my_teardown_class)


@pytest.fixture()
def my_setup_method(request):
    print("\n=== my_setup_method ===")

    def my_teardown_method():
        print("\n=== my_teardown_method ===")
    request.addfinalizer(my_teardown_method)


def test_test1(my_setup_module, my_setup_function):
    print("\ntest1")


def test_test2(my_setup_module, my_setup_function):
    print("\ntest2")


class TestCase:
    def test_test3(self, my_setup_module, my_setup_class, my_setup_method):
        print("\ntest3")

        def test_test4(self, my_setup_module, my_setup_class, my_setup_method):
            print("\ntest4")

Recommended Posts

Vor- und Nachbearbeitung von Pytest
Datenbereinigung 3 Verwendung von OpenCV und Vorverarbeitung von Bilddaten
Vorverarbeitung von Präfekturdaten
Überblick über die Verarbeitung natürlicher Sprache und ihre Datenvorverarbeitung
Das Problem der Lügner und der Ehrlichkeit
Mechanismus von Pyenv und Virtualenv
Super grundlegende Verwendung von Pytest
Arten der Vorverarbeitung in der Verarbeitung natürlicher Sprache und ihre Leistungsfähigkeit
Kombination von rekursiv und Generator
Kombination von anyenv und direnv
Erklärung und Implementierung von SocialFoceModel
Anwendung von Python: Datenbereinigung Teil 3: Verwendung von OpenCV und Vorverarbeitung von Bilddaten
Differenzierung der Sortierung und Verallgemeinerung der Sortierung
Koexistenz von Pyenv und Autojump
Verwendung und Integration von "Shodan"
Das Problem der Lügner und der Ehrlichkeit
Auftreten und Auflösung von tensorflow.python.framework.errors_impl.FailedPreconditionError
Vergleich von Apex und Lamvery
Quellinstallation und Installation von Python
Einführung und Tipps von mlflow.Tracking
Umgebungskonstruktion von Python und OpenCV
Grundkenntnisse in Linux und Grundbefehle
Reihenfolge der Argumente für RegularGridInterpolator und interp2d
Die Geschichte von Python und die Geschichte von NaN
Erläuterung und Implementierung von PRML Kapitel 4
Einführung und Implementierung von JoCoR-Loss (CVPR2020)
Vorteile und Beispiele für die Verwendung von Rabbit Mq
Erklärung und Implementierung des ESIM-Algorithmus
Mischgefahr! Ndarray und Matrix
Installation von SciPy und matplotlib (Python)
Bedeutung des maschinellen Lernens und des Mini-Batch-Lernens
Einführung und Implementierung der Aktivierungsfunktion
Memorandum zum Speichern und Laden des Modells
Scraping, Vorverarbeitung und Schreiben in postgreSQL
Missverständnisse und Interpretationen von Luigis Abhängigkeiten
Erklärung und Implementierung von einfachem Perzeptron
Berechnung der selbst erstellten Klasse und der vorhandenen Klasse
Dies und das von Python-Eigenschaften
Versuchsplanungsmethode und Kombinationsoptimierung
Zeitreihenanalyse 3 Vorverarbeitung von Zeitreihendaten
Merkmale der symbolischen und harten Verbindung
Koexistenz von Python2 und 3 mit CircleCI (1.0)
Zusammenfassung der Python-Indizes und -Slices
Aggregation und Visualisierung akkumulierter Zahlen
Reputation von Python-Büchern und Nachschlagewerken
Vorverarbeitung von Wikipedia-Dump-Dateien und gemeinsame Nutzung großer Datenmengen mit MeCab
Python: Vorverarbeitung beim maschinellen Lernen: Umgang mit fehlenden / Ausreißern / unausgeglichenen Daten