2017-01-05 3 views
0

나는 7 장의 튜토리얼을 django 문서에서 따랐습니다. 장고 프로젝트는 Openshift 빠른 시작 사용하여 만든Openshift python manage.py 테스트가 실행되지 않습니다

왜 내가 내 응용 프로그램에 테스트 케이스를 추가 할 때마다 모든 단위 테스트 케이스 실행

python manage.py test 

전에

python manage.py makemigrations 
    python manage.py migrate 

를 입력 한 모든 변경 사항을 밀어해야하나요 opensshift 내가 opensshift에 SSH 연결을 사용하여 마이 그 레이션을 다시 입력해야합니다 그렇지 않으면 내가 "그런 테이블 myapp_question"오류 메시지를 참조하십시오.

파이썬 manage.py dbshell을 사용하면 이미 모든 마이그레이션을 완료했기 때문에 데이터베이스가 적절한 테이블로 구성되어 있다는 것을 알 수 있습니다.

문서

는 미국, 그 Separate, blank databases are created for the tests. openshift 어떤 모델 변경없이, 시험 전에 마이그레이션 및 새로운 기능 데이터베이스에 어떻게 입력해야합니다 왜 .

나는

from django.test import TestCase 

에서 모든 테스트 케이스를 인스턴스화하고이 가져 오기가 빈 테이블과 새 데이터베이스에 필요한 상자 밖으로 제공해야한다.

openshift 후크에 뭔가를 넣거나 settings.py를 수정해야합니까?

내가 테스트를 실행할 수 있지만, 난 그냥

 manage.py test 

를 입력하고 결과

마다 자식을 사용하여 openshift 밀어

답변

0

을 탐험 할 수없는 이유 이해가 안 장고 데이터베이스 마이그레이션없이 새로운 런타임을 생성 및 스키마. 데이터베이스의 모든 기록은 ssh를 사용하여 액세스 할 수있는 DATA 하위 디렉토리에 보관됩니다.

django 테스트에서는 메모리 데이터베이스를 사용하는 테스트 목적으로 데이터베이스를 다시 생성하기 위해 마이그레이션 기록이 필요합니다.

마이그레이션을 실행하고 테스트 용 마이그레이션 스키마 만 작성하면됩니다. 당신이 지정된 영구 데이터 디렉토리에 고집 SQLite는 등의 파일 시스템 데이터베이스를 사용하지 않는 경우 내가

+1

잘못 생각하는 경우

이, 제발 올바른, 다음 네, 당신은 매번 작성해야합니다. 디렉토리의 위치를 ​​알려주는 환경 변수가 있습니다. –

+0

예, 저는 SQLite 데이터베이스를 사용하고 있다고 언급하는 것을 잊었습니다. 왜냐하면 카트리지를 빌드하는 데 많은 처리 시간이 필요하기 때문입니다. 설명해 주셔서 감사합니다. 내가 뭔가 잘못하고 있다는 느낌이 들었다. –

관련 문제