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 № 1Eu 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
.