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
Nur zusätzlich.
def add(a, b):
return a + b
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