Obecnie śledzę ten przykład py.test i działa, gdy nie używam klas, jednak gdy wprowadzam przypadki testowe na zajęcia, nie jestem w stanie.Py.test: parametrize przypadki testowe z klas
Najmniejszy przypadek udało mi się napisać to:
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)
niestety kiedy wykonać
py.test test_suite.py
otrzymuję komunikat o błędzie:
TypeError: test_1() takes exactly 3 arguments (1 given)
Jak mogę zrobić w celu wygenerowania baterii testów test_1?
Czy Twoja klasa trzeba być podklasą 'TestCase'? –
Obecnie nie jest to obowiązkowe, potrzebuję sparametryzować testy, które są zdefiniowane w klasie – pafede2
Jeśli chodzi o sparametryzowane testy, metody "TestCase", odpowiedź na to starsze pytanie wydaje się nadal aktualna: http: // stackoverflow. com/questions/18182251/does-pytest-parametrized-test-work-with-unittest-class-based-tests W skrócie: mieszanie dwóch koncepcji nie będzie działać. –