Ich bin derzeit nach diesem py.test Beispiel und es funktioniert, wenn ich keine Klassen verwende, aber wenn ich Testfälle in Klassen einführe, scheitere ich.Py.test: Testfälle von Klassen parametrisieren
Der kleinste Fall I ist folgendes zu schreiben verwaltet:
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)
leider, wenn ich
py.test test_suite.py
ich Nachricht erhalten den Fehler ausführen:
TypeError: test_1() takes exactly 3 arguments (1 given)
Wie kann ich tun um eine Batterie von test_1 Tests zu generieren?
Hat Ihre Klasse Bedarf eine Unterklasse von 'TestCase' zu sein? –
Derzeit ist es nicht obligatorisch, was ich brauche ist, Tests zu parametrisieren, die in einer Klasse definiert sind – pafede2
Wie für parametrisierte Tests, die 'TestCase' Methoden, scheint die Antwort auf diese ältere Frage immer noch gültig: http: // stackoverflow. com/questions/18182251/does-pytest-parametrisierte-test-arbeit-mit-unittest-klassenbasierte tests Kurz gesagt: das Mischen der beiden Konzepte wird nicht funktionieren. –