2014-09-04 2 views
2

표준 Django 테스트 프레임 워크를 사용하여 몇 가지 단위 테스트가 이미있는 장고 프로젝트가 있습니다. 잘 작동합니다. 지금은 트래비스 CI와 통합 테스트를 설정하려면,하지만 난 몇 차단제를 치는 해요 :Django 테스트 : Travis CI에서 별도의 유닛 테스트 및 통합 테스트

  1. 장고 문서는 외부 서비스를 필요로하는 통합 테스트에서 독립적 인 ./manage.py test 단위 테스트를 분리하는 방법을 말을하지 않습니다 설정 될 수 있습니다. 나는 장치 및 통합 테스트를 모두 실행하기 위해 dev 컴퓨터와 Travis CI에서만 단위 테스트를 실행하려고합니다. 어떻게 분리합니까?
  2. Travis CI의 데이터베이스에 설치 중에 채워지는 초기 데이터가 가득 찼습니다. 통합 테스트가 실행되기를 원하지만 단위 테스트는 임시 테스트 전용 DB를 계속 사용합니다. 어떻게해야합니까?

답변

1

1- manage.py 테스트 명령에서 원하는 테스트를 실행할 수 있습니다. 따라서 unit_test.py 파일을 만들고이 파일 내에서 테스트 만 실행할 수 있습니다.

manage.py test --help 

2 - 원하지 않습니다. 프로덕션/세미 프로덕션 데이터베이스에 대한 테스트를 실행하는 것은 수치 스럽습니다. 모든 테스트에 대해 조명기를 작성하고 임시 데이터베이스에 대해 테스트를 실행해야합니다. 답변을 정말로 알고 싶다면 이미 대답했습니다 here

+1

단위 테스트를 작성할 때 실제로 프로덕션 데이터베이스에 대해 테스트하지 않아도됩니다. 그러나 통합 테스트를 실행할 때 (Travis CI에서와 같이) 프로덕션 데이터베이스는 테스트 데이터베이스입니다. 데이터베이스와 수정/상호 작용할 수있는 외부 도구와의 통합을 테스트 할 때는 "프로덕션"데이터베이스를 사용하려고합니다. –

관련 문제