2012-09-05 4 views
1

테스트 케이스를 실행하기 전에 데이터베이스에 테스트 데이터를 삽입하고 싶습니다. 장고의 상세 출력에서 ​​ django 테스트에서 데이터를 MySQL에 삽입하지 못했습니다.

, 그것은 이미 설비의 개체를 많이로드 말했다. 그러나 테스트 데이터베이스에서는 여전히 테이블이 비어 있습니다. 내 테스트 코드에서 중단 점을 설정 한 다음 테스트 데이터베이스 테이블을 확인하십시오. 나는 심지어 장고 코드를 디버그한다. 실제로 insert sql을 실행하고 영향받은 행을 반환한다. 하지만 여전히 테스트 DB에서 데이터를 찾을 수 없습니다!

데이터베이스 서버는 mysql입니다.

해결 방법에 대한 의견이 있으십니까? 장고 테스트의

자세한 정보 출력,

... 
Loading 'goods_756399566_3my10' fixtures... 
... 
Trying '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures' for goods_756399566_3my10.xml.zip fixture 'goods_756399566_3my10'... 
No xml fixture 'goods_756399566_3my10' in '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures'. 
Trying '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures' for goods_756399566_3my10.xml.bz2 fixture 'goods_756399566_3my10'... 
No xml fixture 'goods_756399566_3my10' in '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures'. 
Trying '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures' for goods_756399566_3my10.json fixture 'goods_756399566_3my10'... 
Installing json fixture 'goods_756399566_3my10' from '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures'. 
Trying '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures' for goods_756399566_3my10.json.gz fixture 'goods_756399566_3my10'... 
No json fixture 'goods_756399566_3my10' in '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures'. 
Trying '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures' for goods_756399566_3my10.json.zip fixture 'goods_756399566_3my10'... 
... 
Installed 117 object(s) from 2 fixture(s) 

업데이트 :

내가 initial_data.json와 같은 데이터를 덤프하려고,이기구의 데이터는 테스트 데이터베이스에 삽입 할 수 있습니다. 왜 django가 테스트 케이스를 실행하기 전에 픽처를 삽입하지 못했는지는 모르지만, 내 작업을 계속 진행하기위한 해결 방법입니다.

해결 :

나는 그것이 내 환경에 의한 것 확실하지 않다. 어쨌든 나는 테스트를 할 때 db를 SQLLite로 바꿨다. 메모리 데이터베이스에 조명기의 데이터를 가져 오는 데 아무런 문제가 없다. mysql을 설치하지 않고 단위 테스트를 실행하는 것도 의미가있다.

+0

파일'goods_756399566는 ....'아니라고 말하는 것 같다 지정된 폴더에서 발견되었습니다. 경로를 확인 하시겠습니까? –

+0

@ will-hart, 아래 출력은 발견되어 설치되었음을 나타냅니다. '시도'/ 사용자/케인/자식/blizzard_recommend/blizzard_recommend/SRC/웹/비품 ''goods_756399566_3my10 'goods_756399566_3my10.json 고정 용 설치 JSON 고정/사용자'에서 'goods_756399566_3my10'/ 케인/자식/blizzard_recommend/blizzard_recommend/SRC/웹 제법/fixtures'.' – Kane

+0

, 방금이 라인을보고했다 : '없음 XML기구'goods_756399566_3my10 ''/ 사용자/케인/자식/blizzard_recommend/blizzard_recommend/SRC/웹/비품 '. ' –

답변

0

이 내 자신의 비슷한 문제를 연구하는 동안 나는이 질문을 발견, 말,하지만. 대답은 모든 장고 테스트가 트랜잭션으로 래핑된다는 것입니다. 따라서 다른 프로그램으로 이동하여 데이터베이스를 확인하면 볼 수 없습니다. 관련 문서에

이 질문 포인트 : Django Rest Framework testing save POST request data

(슬프게도,이 내 자신의 문제의 원인이 아닙니다.)

관련 문제