작은 패키지를 별도의 패키지에 보관하고 테스트하고 싶습니다. 지금 나는 "test_project"디렉토리를 만들고 거기에 테스트 프로젝트를 만들고이 프로젝트의 manage.py를 사용하여 테스트를 실행하고있다. 하지만 계속 궁금해합니다 - 더 좋은 방법이 있습니까? 아마도 일부 기본 구성 (예 : sqlite 데이터베이스)을 사용하여 단일 응용 프로그램의 테스트를 시작할 수 있습니까?Django에서 단일 프로젝트 (프로젝트 아님)를 테스트하는 방법은 무엇입니까?
답변
그 목적을 위해 장고 테스트 프로젝트를 만들지 않고도 단일 앱의 테스트를 독립 실행 형으로 실행할 수 있습니다. 이렇게하는 한 가지 방법은 앱의 루트 디렉토리에 runtests.py
을 생성하여 장고 설정을 구성하고 ./manage.py test your_app
을 프로그래밍 방식으로 실행하는 것입니다. runtests.py
의 한 예는 Django 자신의 것입니다 : runtests.py (documentation).
장고 자신의 runtests.py
은 좋은 참고 자료이지만 대부분의 경우 복잡하게 나옵니다.
당연히 당신 할 수있는 어떤 장고 종속성
장고 환경이 필요하지 않은 경우 유닛 테스트 독립과 파이썬 부분이어야 settings.py 및 manage.py 파일이 필요합니다 테스트. 필수적인 것들만 사용하고 UnitTest는 manage.py로 앱을 설정할 수 있습니다. 장고 런타임 환경으로 프로젝트를 볼 수 있습니다. 장고 런타임 환경이없는 장고는 없습니다. 당신은 아마도 설정을 모방 할 수 있지만 심플함보다는 해킹을 더 많이 만들어 낼 것입니다.코를 사용하는 경우 단일 앱의 테스트를 실행할 수 있습니다. 하나의 응용 프로그램을 테스트하는 등
python manage.py test app.tests:TestClassHere
. 나는 큰 django 프로젝트가하는 컨벤션을 따르기 만하면된다. test_project 디렉토리를 만듭니다. 나를 위해 충분히 좋은 가장 큰 장고 플러그 애플 리케이션의 일부 충분 경우
https://bitbucket.org/jespern/django-piston/src/7c90898072ce/tests/test_project
나는 그림.
Project dir/
/myapp
/myotherapp
/myproject
장고 당신이 실행할 수 있습니다 : 당신의 장고 구조가 예상대로 이런 식으로 뭔가를 보인다면 내가 여기에 아직
을 그것을 볼 수 없기 때문에
그것이 최선의 하나로서이 허용 대답을했다 아주 긴 시간 동안 당신을 감사합니다 다음은 다른 예를 몇 가지 있습니다. 현재 나는 Dario의이 제품이 더 좋다고 생각합니다. 약 5 년 정도 동안 답변을 주셔서 감사합니다. – dotz
이 아래로 쓰기 다음을 실행하여 "myotherapp"테스트 :
./manage.py test myotherapp/
이 프로젝트의 디렉토리에있는 모든 테스트를 실행
./manage.py test
반면 "myotherapp"에서 모든 테스트를 실행합니다.
이것은 선택된 대답이어야합니다 –
- 1. 단일 프로젝트 인스턴스 또는 여러 프로젝트 인스턴스?
- 2. 단일 문서 프로젝트 구조
- 3. django에서 프로젝트 또는 응용 프로그램 별 설정을 처리하는 방법은 무엇입니까?
- 4. 프로젝트 수취 방법은 무엇입니까?
- 5. Django에서 시간 관련 함수를 테스트하는 방법은 무엇입니까?
- 6. 단일 또는 다중 레일 프로젝트
- 7. 다중 서브 모듈이있는 단일 프로젝트
- 8. SVN 저장소에서 단일 프로젝트 내보내기
- 9. 단일 Eclipse 프로젝트 내에 여러 소스 폴더를 설정하는 방법은 무엇입니까?
- 10. 프로젝트 업데이트를 커밋하는 방법은 무엇입니까?
- 11. 프로젝트 모델을 작성하는 방법은 무엇입니까?
- 12. robotium 테스트 프로젝트 apk 파일을 테스트하는 방법
- 13. 프로젝트
- 14. devenv로 하나의 프로젝트 파일을 정리하는 방법은 무엇입니까?
- 15. 데이터베이스 프로젝트 배포시 프로젝트 루트를 기준으로 파일을 참조하는 방법은 무엇입니까?
- 16. Ruby on Rails 프로젝트 용 프로젝트 템플릿을 만드는 방법은 무엇입니까?
- 17. 각 프로젝트 구성마다 다른 프로젝트 종속성을 갖는 방법은 무엇입니까?
- 18. 프로젝트 2010과 프로젝트 서버 2010의 차이점은 무엇입니까?
- 19. 프로젝트 종속성이있는 중첩 된 다중 프로젝트 프로젝트
- 20. Aptana 프로젝트 (웹 프로젝트 대 PHP 프로젝트 및 SQL 지원)
- 21. Xcode의 프로젝트
- 22. 프로젝트 관리자 앱에서 새 프로젝트를 테스트하는 가장 좋은 방법
- 23. 프로젝트 종료
- 24. 단일 프로젝트 내에서 장고 앱 재사용
- 25. 여러 django 프로젝트, mod_wsgi, 단일 도메인
- 26. SVN 저장소에서 단일 프로젝트 파일 제외
- 27. TeamCity의 단일 솔루션에서 여러 프로젝트 게시
- 28. 솔루션에 대한 모든 서비스 참조가있는 단일 프로젝트?
- 29. 공유 라이브러리 프로젝트 활동을위한 단일 인스턴스?
- 30. 단일 JAR에서 jTDS 및 내 프로젝트 내보내기?
당신은 나의 upvote을 가지고 있으며 그것을 받아 들인 대답으로 표시했습니다. ''runtests.py''가 지원되는 장고 버전이 무엇인지에 대한 정보를 추가하고 싶습니다. 새로운가요? – dotz
@dotz, 그 질문은 매우 흥미 롭습니다. 답을 알지 못했지만 그것을 찾지 못했습니다. 지금까지 Django의'runtests.py'는 2005 년에 만들어졌으며 v1.0부터 사용할 수 있습니다. 다음은 원본 커밋입니다. https://github.com/django/django/commit/daf8467b37f7aaae0b463b40a2c9d98f1f53c556#diff-bf0d7f89b37ba018fb5c5b2833b37dd3 –