2012-06-05 5 views
9

작은 패키지를 별도의 패키지에 보관하고 테스트하고 싶습니다. 지금 나는 "test_project"디렉토리를 만들고 거기에 테스트 프로젝트를 만들고이 프로젝트의 manage.py를 사용하여 테스트를 실행하고있다. 하지만 계속 궁금해합니다 - 더 좋은 방법이 있습니까? 아마도 일부 기본 구성 (예 : sqlite 데이터베이스)을 사용하여 단일 응용 프로그램의 테스트를 시작할 수 있습니까?Django에서 단일 프로젝트 (프로젝트 아님)를 테스트하는 방법은 무엇입니까?

답변

1

그 목적을 위해 장고 테스트 프로젝트를 만들지 않고도 단일 앱의 테스트를 독립 실행 형으로 실행할 수 있습니다. 이렇게하는 한 가지 방법은 앱의 루트 디렉토리에 runtests.py을 생성하여 장고 설정을 구성하고 ./manage.py test your_app을 프로그래밍 방식으로 실행하는 것입니다. runtests.py의 한 예는 Django 자신의 것입니다 : runtests.py (documentation).

장고 자신의 runtests.py은 좋은 참고 자료이지만 대부분의 경우 복잡하게 나옵니다.

+0

당신은 나의 upvote을 가지고 있으며 그것을 받아 들인 대답으로 표시했습니다. ''runtests.py''가 지원되는 장고 버전이 무엇인지에 대한 정보를 추가하고 싶습니다. 새로운가요? – dotz

+0

@dotz, 그 질문은 매우 흥미 롭습니다. 답을 알지 못했지만 그것을 찾지 못했습니다. 지금까지 Django의'runtests.py'는 2005 년에 만들어졌으며 v1.0부터 사용할 수 있습니다. 다음은 원본 커밋입니다. https://github.com/django/django/commit/daf8467b37f7aaae0b463b40a2c9d98f1f53c556#diff-bf0d7f89b37ba018fb5c5b2833b37dd3 –

0

당연히 당신 할 수있는 어떤 장고 종속성

장고 환경이 필요하지 않은 경우 유닛 테스트 독립과 파이썬 부분이어야 settings.pymanage.py 파일이 필요합니다 테스트. 필수적인 것들만 사용하고 UnitTest는 manage.py로 앱을 설정할 수 있습니다. 장고 런타임 환경으로 프로젝트를 볼 수 있습니다. 장고 런타임 환경이없는 장고는 없습니다. 당신은 아마도 설정을 모방 할 수 있지만 심플함보다는 해킹을 더 많이 만들어 낼 것입니다.

5

코를 사용하는 경우 단일 앱의 테스트를 실행할 수 있습니다. 하나의 응용 프로그램을 테스트하는 등

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 

장고 당신이 실행할 수 있습니다 : 당신의 장고 구조가 예상대로 이런 식으로 뭔가를 보인다면 내가 여기에 아직

From the docs

을 그것을 볼 수 없기 때문에

+0

그것이 최선의 하나로서이 허용 대답을했다 아주 긴 시간 동안 당신을 감사합니다 다음은 다른 예를 몇 가지 있습니다. 현재 나는 Dario의이 제품이 더 좋다고 생각합니다. 약 5 년 정도 동안 답변을 주셔서 감사합니다. – dotz

5

이 아래로 쓰기 다음을 실행하여 "myotherapp"테스트 :

./manage.py test myotherapp/ 

이 프로젝트의 디렉토리에있는 모든 테스트를 실행

./manage.py test 

반면 "myotherapp"에서 모든 테스트를 실행합니다.

+0

이것은 선택된 대답이어야합니다 –

관련 문제