Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 25, 2009 22:21:47

AlexKiriukha
От:
Зарегистрирован: 2008-02-03
Сообщения: 81
Репутация: +  0  -
Профиль   Отправить e-mail  

[nose][twill][coverage] Тестирование

Есть задача написать тесты для приложения используя инструменты из тегов. Гуглил, но удобного решения не нашёл :-( Сделал простые классы, из которых запускаю команды twill и сравниваю ответы, например:

IP = '127.0.0.1'
PORT = 8000
SITE = 'http://%s:%s' % (IP, PORT)



class TwillMock(object):
def setup(self):
'''
- setup twill virtual web server
'''
from django.core.servers.basehttp import AdminMediaHandler
from django.core.handlers.wsgi import WSGIHandler
from wsgi_intercept import add_wsgi_intercept

app = AdminMediaHandler(WSGIHandler())
add_wsgi_intercept(IP, PORT, lambda: app)



class NotATestTwillRegistration(TwillMock):
def test_login_success(self, username='test', password='test'):
go(SITE + '/accounts/login/')
code(200)
formvalue(1, 'username', username)
formvalue(1, 'password', password)
submit()
url(SITE + '/accounts/profile/')
code(200)

def test_incorrect_password(self):
go(SITE + '/accounts/login/')
code(200)
formvalue(1, 'username', 'test')
formvalue(1, 'password', 'OMG! I have forgotten it!')
submit()
url(SITE + '/accounts/login/')
find('<ul class="errorlist">')
code(200)
Возникли следуюшие проблемы: не могу понять как сделать чтобы вместе с тестом прогонять coverage и получать по нему отчёт и не знаю правильно ли вообще так тестировать. Документация по django - преотличнейшая вещь, но тестирование освещено IMHO слабо. Ещё было интересно как правильно запускать nose (может как-то прикрутить через manage.py test) и правильно создавать тестовую базу при использовании nose. Вобщем как правильно тестировать django проект с помощью этих (или может других) инструментов?

P.S. Возможно тема уже тут обсуждалась, но не нашёл.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version