parameterized Bibliothèque auxiliaire pour les tests unitaires Python. Si vous souhaitez tester la même méthode avec des valeurs différentes, vous n'avez pas à écrire une méthode de test différente.
Il prend en charge unittest, pytest, nez, etc. Le style d'écriture est légèrement différent entre unittest et pytest.
Je n'ai utilisé qu'unittest, alors comment l'utiliser avec unittest.
install
pip install parameterized
usage
Juste un ajout.
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)
Les valeurs sont transmises respectivement à a, b et exp. Si vous souhaitez correspondre à l'argument mot-clé, procédez comme suit. Utilisez la fonction param.
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