У меня есть проект, в котором используются Angular и Django, и я испытываю странное поведение при тестировании своего приложения с использованием StaticLiveServerTestCase и Selenium.
Когда я начинаю тестировать, кажется, что все работает, но если я обновляю главную страницу, я получаю 404. Итак, если я тестирую без базового URL, он работает, но как только Angular добавляет базовый URL, тест возвращает 404:
http://127.0.0.1:8000/project/development/test
Базовый URL-адрес, определенный в Angular на index.html:
Мой URL-адрес определяется следующим образом:
re_path ('test', views.index, name = 'index')
Итак, подытожив, когда я тестирую http://127.0.0.1:8000/test, это работает, но если я тестирую http://127.0.0.1:8000/project/development/test, это не так - если я запускаю свое приложение нормально, оба URL работают.
Насколько я знаю новичок, и поскольку шаблон URL определен, оба URL должны работать. Очевидно, я что-то упускаю.
Заранее спасибо.
Примечание. Тестовый класс, если он определен следующим образом:
class Tests(StaticLiveServerTestCase):
def set_chrome_options(cls):
options = Options()
options.add_experimental_option("useAutomationExtension", False)
return options
@classmethod
def setUpClass(cls):
cls.host = "127.0.0.1"
cls.port = 8000
super(Tests, cls).setUpClass()
cls.selenium = webdriver.Chrome(executable_path=settings.DRIVER_PATH, options=cls.set_chrome_options(cls))
...
Относительно urlpatterns:
urlpatterns = [
path('', views.index, name='home'),
re_path('test', views.index, name='index'),
path('project', views.index, name='index'),
...