Django LiveServerTestCase nie działa?

0

Próbuję sobie zrobić testy Seleniumowe w Django, korzystam do tego z LiveServerTestCase https://docs.djangoproject.com/en/2.1/topics/testing/tools/#django.test.LiveServerTestCase
I mam pewien problem. Z tego co rozumiem, klasy Live(/Static)ServerTestCase powinny stawiać klienta na którego w testach mogę sobie robić zapytania, ale kiedy robię request na "główny" endpoint ("/") jak poniżej, to dostaję 500 Internal Server Error. Ktoś wie o co może chodzić?

Mój kod:

class TestMostCommonUserActions(StaticLiveServerTestCase):
    @classmethod
    def setUpClass(cls):
        super().setUpClass()
        cls.selenium = webdriver.Chrome()
        cls.selenium.implicitly_wait(10)

    @classmethod
    def tearDownClass(cls):
        cls.selenium.quit()
        super().tearDownClass()

    def test_page_rendered(self):
        # tutaj jest problem
        self.selenium.get(self.live_server_url)
        # Jak odpalę sobie komendą runserver i odpytuje na zwyklym porcie, to oczywiście chodzi.
        self.selenium.get("http://127.0.0.1:8000/")

Trzeba jeszcze jakieś settingsy pod to ustawić, czy o co może chodzić?

Wyżej w kodzie mam jedynie oprócz tego kodu importy i ustawienie os.environ["PATH"] tak, zeby znajdowało sterownik przeglądarki, więc to już raczej nie ma wpływu.

Końcowym efektem który chciałbym uzyskać jest możlowość zamokowania w takim teście pewnych funkcji (np. wysyłanie do AWSa) i zrobić taki prawie, że E2E test.

0

@ledi12: log z live serwera - cos zaczyna się wyjaśniać:

System check identified no issues (0 silenced).
Not Found: /static/bootstrap-template/vendor/bootstrap/css/bootstrap.css
Not Found: /static/bootstrap-template/vendor/fontawesome-free/css/all.min.css
Not Found: /static/bootstrap-template/vendor/simple-line-icons/css/simple-line-icons.css
Not Found: /static/bootstrap-template/css/landing-page.css
Not Found: /static/my/css/base.css
Not Found: /static/my/css/upload.css
Not Found: /static/my/css/slicing.css
Not Found: /static/bootstrap-template/vendor/bootstrap/css/bootstrap.css
Not Found: /static/bootstrap-template/vendor/jquery/jquery.min.js
Not Found: /static/bootstrap-template/vendor/bootstrap/js/bootstrap.bundle.min.js

teraz tylko pytanie, czemu jak włączyłem Debug True, to już nie pokazuje mi się 500tka, tylko na tej samej komendzie strona - wprawdzie bez staticków - ale wczytuje się?:P

0

Powoli zaczynam chyba sobie odpowiadać - generalnie to nie jest kwestia staticow z tego co widzę. Jak dałem StaticLiveServerTestCase zamiast LiveServerTestCase to statici wgrywa, także to nie jest tego kwestia raczej.

Pytanie czemu DEBUG powoduje, że się nie pojawia 500tka, co więcej testy przechodzą na Debugu?

Myślałem, że może kwestia, że jakoś modyfikuje AllowedHosts, no ale wtedy to raczej jakaś 4xx by był chyba, albo przynajmniej coś innego niż Internal Server Errror by było? Próbowałem też zrobić @override_settings(ALLOWED_HOSTS=['*']) na klase testową, ale nie pomaga niestety :/

0

Co ciekawe jeszcze na debugu testy przechodzą, z tym live_server_url, ale oprocz tego wyskakuje jeszcze ciekawy komunikat z wykonania:

Exception happened during processing of request from ('127.0.0.1', 57480)
Traceback (most recent call last):
  File "....pyenv\pyenv-win\versions\3.6.3\lib\socketserver.py", line 639, in process_request_thread
    self.finish_request(request, client_address)
  File ...\.pyenv\pyenv-win\versions\3.6.3\lib\socketserver.py", line 361, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "...\.pyenv\pyenv-win\versions\3.6.3\lib\socketserver.py", line 696, in __init__
    self.handle()
  File "...\PycharmProjects\AudioSlicer\.venv\lib\site-packages\django\core\servers\basehttp.py", line 139, in handle
    self.raw_requestline = self.rfile.readline(65537)
  File "...\.pyenv\pyenv-win\versions\3.6.3\lib\socket.py", line 586, in readinto
    return self._sock.recv_into(b)
ConnectionResetError: [WinError 10054] Istniejące połączenie zostało gwałtownie zamknięte przez zdalnego hosta
----------------------------------------

----------------------------------------------------------------------
Ran 4 tests in 6.605s

OK

ktoś coś?

1 użytkowników online, w tym zalogowanych: 0, gości: 1