[PYTHON] Ich habe versucht, parametrisiert zu verwenden

parameterized Hilfsbibliothek für Python-Unit-Tests. Wenn Sie dieselbe Methode mit unterschiedlichen Werten testen möchten, müssen Sie keine andere Testmethode schreiben.

Es unterstützt Unittest, Pytest, Nase usw. Der Schreibstil unterscheidet sich geringfügig zwischen unittest und pytest.

Ich habe nur unittest verwendet, also wie man es mit unittest verwendet.

install

pip install parameterized

usage

Zu testender Code

Nur zusätzlich.

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

Testcode

import unittest
from parameterized import parameterized


class TestAdd1(unittest.TestCase):

    @parameterized.expand([
        (2, 3, 5),
        (1, 1, 2),
        (3, -1, 2)
    ])

    def test_add(self, a, b, exp):
        self.assertEqual(add(a, b), exp)

Die Werte werden an a, b bzw. exp übergeben. Wenn Sie dem Schlüsselwortargument entsprechen möchten, gehen Sie wie folgt vor. Verwenden Sie die Parameterfunktion.

import unittest
from parameterized import parameterized, param


class TestAdd2(unittest.TestCase):

    @parameterized.expand([
        param(2, -2),
        param(1, -1),
        param(3, -1, exp=2)
    ])

    def test_add(self, a, b, exp=0):
        self.assertEqual(add(a, b), exp)

Recommended Posts

Ich habe versucht, parametrisiert zu verwenden
Ich habe versucht, Argparse zu verwenden
Ich habe versucht, Mimesis zu verwenden
Ich habe versucht, anytree zu verwenden
Ich habe versucht, aiomysql zu verwenden
Ich habe versucht, Summpy zu verwenden
Ich habe versucht, Coturn zu verwenden
Ich habe versucht, Pipenv zu verwenden
Ich habe versucht, Matplotlib zu verwenden
Ich habe versucht, "Anvil" zu verwenden.
Ich habe versucht, Hubot zu verwenden
Ich habe versucht, ESPCN zu verwenden
Ich habe versucht, openpyxl zu verwenden
Ich habe versucht, Ipython zu verwenden
Ich habe versucht, PyCaret zu verwenden
Ich habe versucht, Cron zu verwenden
Ich habe versucht, ngrok zu verwenden
Ich habe versucht, face_recognition zu verwenden
Ich habe versucht, Jupyter zu verwenden
Ich habe versucht, doctest zu verwenden
Ich habe versucht, Folium zu verwenden
Ich habe versucht, jinja2 zu verwenden
Ich habe versucht, Folium zu verwenden
Ich habe versucht, das Zeitfenster zu verwenden
[Ich habe versucht, Pythonista 3 zu verwenden] Einführung
Ich habe versucht, easydict (Memo) zu verwenden.
Ich habe versucht, das Gesicht mit Face ++ zu erkennen
Ich habe versucht, RandomForest zu verwenden
Ich habe versucht, BigQuery ML zu verwenden
Ich habe versucht, Amazon Glacier zu verwenden
Ich habe versucht, Git Inspector zu verwenden
Ich habe versucht, Magenta / TensorFlow zu verwenden
Ich habe versucht, AWS Chalice zu verwenden
Ich habe versucht, Slack Emojinator zu verwenden
Ich habe versucht, Rotrics Dex Arm # 2 zu verwenden
Ich habe versucht, Rotrics Dex Arm zu verwenden
Ich habe versucht, GrabCut von OpenCV zu verwenden
Ich habe versucht, Thonny (Python / IDE) zu verwenden.
Ich habe versucht, mit dem Server-Client über tmux zu kommunizieren
Ich habe versucht, mit PyBrain verstärkt zu lernen
Ich habe versucht, mit Theano tief zu lernen
Ich habe irgendwie versucht, ein Jupyter-Notebook zu verwenden
[Kaggle] Ich habe versucht, mit unausgeglichenem Lernen zu unterabtasten
Ich habe versucht, mit OpenPose eine Schildkrötenwelle zu schießen
Ich habe versucht, die checkio-API zu verwenden
Ich habe versucht, asynchrone Verarbeitung mit Asyncio
Ich habe versucht zu kratzen
Ich habe PyQ ausprobiert
Ich habe AutoKeras ausprobiert
Ich habe es mit Papiermühle versucht
Ich habe versucht, Django-Slack
Ich habe es mit Django versucht
Ich habe es mit Spleeter versucht
Ich habe es mit cgo versucht
Ich habe versucht, Amazon SQS mit Django-Sellerie zu verwenden
Ich habe versucht, Azure Speech to Text zu verwenden.