在 Django 中运行测试时设置 liveserver 端口

Nik*_*lov 7 django selenium django-testing docker django-tests

我正在将 django 用于 webapp,我正在使用 docker 来部署它。我需要在装有硒的容器中对其进行测试。我正在使用硒网格进行测试。为了与 docker 上的 liveserver 连接,我需要转发特定端口,但据我在 django 文档中读到,LiveServerTestCase 使用端口 0,这意味着每次运行测试时都会使用随机端口。由于 --liveserver 选项已被弃用,是否有其他方法可以设置测试服务器的端口或更智能的方法来使用 selenium 对其进行测试?

提前致谢 !

Nik*_*lov 8

如果有人想知道我是如何做到的:覆盖方法 setUpClass,它启动运行服务器的线程

@classmethod
def setUpClass(cls):
    cls.host = "example.com" # or ip
    cls.port = 12345
    super(ExampleTestCase, cls).setUpClass()
Run Code Online (Sandbox Code Playgroud)