/ / Django e selenium TypeError: setUpClass () faltando 1 argumento posicional requerido: 'cls' - django, python-3.x, selenium

Django e selênio TypeError: setUpClass () faltando 1 argumento posicional obrigatório: 'cls' - django, python-3.x, selenium

Eu estou tentando experimentar o django v2 com selênio e recebi este erro:

======================================================================
ERROR: setUpClass (level.tests.LevelListViewTest)
----------------------------------------------------------------------
TypeError: setUpClass() missing 1 required positional argument: "cls"

----------------------------------------------------------------------
Ran 0 tests in 0.000s

FAILED (errors=1)

É assim que meu teste se parece:

from django.contrib.staticfiles.testing import StaticLiveServerTestCase
from selenium.webdriver.firefox.webdriver import WebDriver


class LevelListViewTest(StaticLiveServerTestCase):

@staticmethod
def setUpClass(cls):
super().setUpClass()
cls.selenium = WebDriver()
cls.selenium.implicitly_wait(10)

@staticmethod
def tearDownClass(cls):
cls.selenium.quit()
cls.selenium.tearDownClass()

def test_level_is_in_admin_panel(self):
self.selenium.get("%s%s" % (self.live_server_url, "/admin/login/?next=/admin/"))

Eu uso o sqlite como banco de dados e já criei um superusuário e instalei selênio usando pip

Respostas:

3 para resposta № 1

Eu acredito que você quer o decorador @classmethod em suas funções de configuração e desmontagem, @staticmethod é para instâncias.


0 para resposta № 2

Estes devem usar o @classmethod decorador, não @staticmethod.