2013-07-17 7 views
2

django1.3 응용 프로그램을 테스트하기 위해 django selenium을 사용하려고합니다. 테스트를위한 데이터베이스 백엔드는 sqlite3입니다.(DatabaseError : 그런 테이블 : django_session) 장고 1.3 셀레늄 테스트 중 오류

다음은 내 설정 파일의 일부입니다. 내가 셀레늄 테스트를 실행하면

if 'test' in sys.argv: 
    DB_ENGINE = 'django.db.backends.sqlite3' 
    DATABASES = { 
     'default': { 
      'ENGINE': 'django.db.backends.sqlite3', 
      'TEST_NAME': ':memory:', 
      'NAME': 'database_one',     
     }, 
     'database_two': { 
      'ENGINE': 'django.db.backends.sqlite3',  ] 
      'TEST_NAME': ':memory:', 
      'NAME': 'database_two',   
     }, 
     'database_three': { 
      'ENGINE': 'django.db.backends.sqlite3', 
      'TEST_NAME': ':memory:', 
      'NAME': 'database_three',   
     }, 
    } 
    SOUTH_TESTS_MIGRATE = False 

, 나는

, 그것은 다음과 같이 테이블이 출력에서 ​​생성되는 테스트를 작성하는 동안 나타 사실

DatabaseError: no such table: django_session 
ERROR 

을 말하는 오류

Creating test database for alias 'default' (':memory:')... 
Creating tables ... 
Creating table django_content_type 
Creating table auth_permission 
Creating table auth_group_permissions 
Creating table auth_group 
Creating table auth_user_user_permissions 
Creating table auth_user_groups 
Creating table auth_user 
Creating table auth_message 
Creating table django_session 

나는 다른 곳에서는 찾을 수 없으므로 여기에 문자 그대로 붙어 있습니다.

PS : 사전에 테스트 ..

감사를 실행할 때 내가 포스트 그레스로 sqlite3를 사용하려는 테스트 작업 포스트 그레스의 미세 (내 실제 찌르다 DB 엔진)하지만이 설정 & 해체 DB에 시간이 많이 걸립니다 :)

답변

2

예를 들어 메모리에있는 경우 (두 번째는 닫힌 경우) 데이터가 사라집니다.

실제 db 파일을 만들면 문제를 해결할 수 있습니다. 파일의 절대 경로를 지정하면됩니다. 존재하지 않는 경우, 파일이 생성됩니다.

+0

고마워, 그게 효과가있어 :) –

+0

@sandeepraju : 도움이 된 것을 기쁘게 생각합니다. –