2014-02-26 3 views
7

저는 작업중인 Django 프로젝트를 몇 가지 가지고 있으며, Jenkins를 지속적인 통합 목적으로 사용하고 있습니다. 나는 그 배치를하고 잠시 동안 달렸고 잘 작동합니다.django-jenkins를 사용하여 적용 범위 테스트를 실행하십시오.

자동 테스트 테스트 보고서를 생성하고 Jenkins도 테스트 테스트 보고서를 처리 할 수 ​​있기를 바랍니다. 그것은 나를 위해 django-jenkins처럼가는 길을 보았습니다. 그래서 그것을 설치했고 coverage입니다. 내가 python manage.py jtest를 실행할 수 있습니다, 지금

# Jenkins integration 
INSTALLED_APPS += ('django_jenkins',) 
JENKINS_TASKS = ( 
    'django_jenkins.tasks.with_coverage', 
    'django_jenkins.tasks.run_pylint', 
    'django_jenkins.tasks.django_tests', 
) 
PROJECT_APPS = ['myapp'] 

, 그리고 예상대로 작동합니다

여기 내 settings.py의 관련 부분입니다. 그러나, 나는 python manage.py jenkins, 그것은 오류를 실행하는 경우 : 내 테스트의 기초로 표준 장고 TestCaseLiveServerTestCase 클래스를 사용하고

Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/home/matthew/Projects/blah/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line 
    utility.execute() 
    File "/home/matthew/Projects/blah/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/home/matthew/Projects/blah/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 272, in fetch_command 
    klass = load_command_class(app_name, subcommand) 
    File "/home/matthew/Projects/blah/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 76, in load_command_class 
    return module.Command() 
    File "/home/matthew/Projects/blah/venv/local/lib/python2.7/site-packages/django_jenkins/management/commands/__init__.py", line 61, in __init__ 
    for module_name in self.get_task_list()] 
    File "/home/matthew/Projects/blah/venv/local/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module 
    __import__(name) 
ImportError: No module named django_tests 

합니다. 내가 여기서 잘못 가고있는 어떤 생각? 설명서에 django_tests이 제거되었음을 암시하는 것으로 보입니다. 그러나 장고 테스트를 지금 실행하는 방법에 대한 표시는 없습니다.

장고 1.6.2를 사용하고 있습니다.

답변

11

나는 단지 약간의 실수를 느꼈다.

# Jenkins integration 
INSTALLED_APPS += ('django_jenkins',) 
JENKINS_TASKS = ( 
    'django_jenkins.tasks.with_coverage', 
    'django_jenkins.tasks.run_pylint', 
) 
PROJECT_APPS = ['myapp'] 

그리고 django-jenkins이 테스트를 실행하지 않고 그렇게한다는 것을 명시 적으로 요청하기 : 내가 할 필요가 모든이처럼 django_tests 라인을 드롭했다.

5

django_jenkins.tasks.with_coverage 젠킨스 작업도 더 이상 필요되도록 (0.18.0) django_jenkins의 최신 버전에 변화가있다. 다음과 같이

대신, 테스트 실행을 실행

python manage.py jenkins --enable-coverage 

또는

python3 manage.py jenkins --enable-coverage 

당신은 더에서 찾을 수 있습니다 프로젝트의 GitHub Repo.

관련 문제