Attualmente sto seguendo questo esempio py.test e funziona quando non uso le classi, tuttavia quando introduco casi di test in classi che non riesco.Py.test: parametrizza i casi di test dalle classi
Il caso più piccolo sono riuscito a scrivere è il seguente:
import unittest
import pytest
class FixtureTestCase(unittest.TestCase):
@pytest.mark.parametrize("test_input,expected", [
("3+5", 8),
("2+4", 6),
("6*9", 42),
])
def test_1(self, a, b):
self.assertEqual(a, b)
purtroppo quando eseguo
py.test test_suite.py
ricevo il seguente messaggio di errore:
TypeError: test_1() takes exactly 3 arguments (1 given)
Come posso fare per generare una batteria di test_1 test?
La vostra esigenza di classe di essere una sottoclasse di 'TestCase'? –
Attualmente, non è obbligatorio, ciò di cui ho bisogno è di parametrizzare test che sono definiti in una classe – pafede2
Come per i test parametrizzati che i metodi 'TestCase', la risposta a questa domanda precedente sembra essere ancora valida: http: // stackoverflow. it/questions/18182251/does-pytest-parametrized-test-work-with-unittest-based-tests-test In breve: il mixaggio dei due concetti non funzionerà. –