2012-08-08 3 views
2

장고 1.4가 있습니다. 내 test.py에서 내가 필요한 TestCase에 가져 오기있어 : 기본 예제 테스트 케이스에Django가 내 TestCase 픽스쳐를 무시합니다

fixtures = ['westeros'] 

, 즉

:

from django.test import TestCase 

문제를 분리하기를, 나는 선을 추가 한 django-admin.py dumpdata를 사용

class SimpleTest(TestCase): 
    fixtures = ['westeros'] 

    def test_basic_addition(self): 
     """ 
     Tests that 1 + 1 always equals 2. 
     """ 
     self.assertEqual(1 + 1, 2) 

, 나는 "고객"settings.INSTALLED_APPS에 나와있는 응용 프로그램입니다 내 고객/비품 디렉토리에 "웨스 테로스 '라는 고정 파일을 만들었습니다.

테스트를 실행할 때 장고에서는 장고가 단순히 조명기를 무시하고 test_basic_addition 테스트를 통과합니다. 오류가없고 조명기가로드되지 않습니다. 마치 TestCase 가져 오기가없는 것입니다. 무엇이 잘못되었거나이를 디버깅하는 방법에 대한 아이디어가 있습니까?

+0

loaddata를 사용해 보셨습니까? https://docs.djangoproject.com/en/dev/ref/django-admin/#django-admin-loaddata – danihp

답변

2

그것은 당신이했던 것처럼하지만, 고정 파일 자체가 JSON에 대한 자사의 시리얼 예 : westeros.json, westeros.json.zip 또는 westeros.xml에 해당하는 확장자가 있어야합니다 즉,

fixtures = ['westeros'] 

fixtures을 정의 할 때 확장자를 생략해도 괜찮은지, 압축 된 json 또는 xml입니다.

+0

예! 고맙습니다. 그것이 문제였습니다. 그것은 westeros.json으로 westeros의 이름을 변경했을 때 작동했습니다. 장고가 왜이 문제에 대해 완전히 침묵을 지키고 있는지 나는 여전히 신비 스럽다. 조명기가 현재로드 중일지라도 자세한 표시는 아무 것도 표시하지 않습니다. – Ghopper21

1

westeros 파일의 위치는 어디입니까?

그것도 응용 프로그램 내에서 또는 settings.py 파일

당신은 최대 출력을 얻을 수 verbosity=2으로 테스트를 실행할 수 있습니다에 FIXTURE_DIRS에 의해 지정된 디렉토리에 fixtures 디렉토리에 있어야합니다. https://docs.djangoproject.com/en/1.0/ref/django-admin/#test

조명기 파일의 이름은 westeros입니까? 또는 파일 확장자가 있습니까?

Django는 표시되는 것처럼 조명기로드에서 자동으로 실패합니다. (적어도 1.3까지, 나는 새로운 1.4 버전에서 아직 조명기를 사용하지 않았다). 그러나 조명기가 로딩 중인지 실제로 테스트하는 것은 아닙니다. self.assertGreater(YourModel.objects.all(), 0) 또는 somethign을 던져 개체가 없는지 확인하거나 debbuger에 넣고 일부 모델 쿼리를 시작합니다.

+0

감사. 답변 : (1) "westeros"파일은 customers/fixtures 디렉토리에 있으며, 고객은 설치된 앱 중 하나입니다. (2) 나는 verbosity 2 (와 3)로 실행했다; (3) 옙 나는 조명기가로드되지 않았 음을 확인했다. (단지 내 질문에 그것을 보여주지 않았다.) – Ghopper21

관련 문제