我正在努力清理我的Django功能测试以使用LiveServerTestCase,而不是在背景中运行的开发环境的实例上反弹基于selenium的测试,而且我已经碰壁了.每次我尝试运行LiveServerTestCase测试时,都会收到以下错误:
======================================================================
ERROR: setUpClass (fun_tests.tests.backend.TestCmsLogin)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/user/Documents/env/local/lib/python2.7/site-packages/django/test/testcases.py", line 1187, in setUpClass
raise cls.server_thread.error
error: [Errno 98] Address already in use
Run Code Online (Sandbox Code Playgroud)
超级好玩,考虑到sudo netstat -netp | grep 8081没有收益.一些背景:我正在使用Django 1.6,我使用鼻子,django-nose,鼻子排除,但我已经有效地将它们切掉以帮助诊断问题.我正在使用的代码非常简单:
from django.test import LiveServerTestCase
class TestCmsLogin(LiveServerTestCase):
def test_a_test_itself(self):
self.assertTrue(True)
Run Code Online (Sandbox Code Playgroud)
我找不到关于这个主题的任何现有技术,Djangoproject的bug追踪器很干净.我错过了什么?
编辑:今天早上这个问题是不可复制的,无论是标记端口8081,因为打开不再导致问题.
edit2:在我的写作中将8081误导为8082,修复(并检查以确保我当时正确).
rad*_*rba 14
您可以设置(在settings.py中)环境变量DJANGO_LIVE_TEST_SERVER_ADDRESS以包括将尝试的多个端口范围:
os.environ['DJANGO_LIVE_TEST_SERVER_ADDRESS']="localhost:8000-8010,8080,9200-9300"
Run Code Online (Sandbox Code Playgroud)
我自己也有同样的问题,也许这可以帮助别人.
myn*_*hno 13
在前一个测试生成内部服务器错误之后运行后续测试时,这开始发生在我身上.在Mac上,使用lsof使用端口查找程序,并将其终止.例如:
$ sudo lsof -i :8081
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
firefox-b 1097 username 3u IPv4 0x94495559c6dea35 0t0 TCP localhost:sunproxyadmin (LISTEN)
$ kill -9 1097
Run Code Online (Sandbox Code Playgroud)