2014-12-04 4 views
3

У меня есть некоторые конечные точки API, которые мне нужно проверить, и я не уверен, с чего начать. Я использую среду Bottle, и один из методов, которые я тестирую, считывает параметр из запроса. Как имитировать это в тестовой среде?Как выполнить модульный тест с использованием рамки для бутылок

+0

Такая же проблема здесь. Вы нашли хорошее решение? – koloman

+0

У меня на самом деле. Вы можете использовать веб-тест, чтобы делать все, что вам нужно. http://docs.pylonsproject.org/projects/webtest/en/latest/ – Brandon

ответ

1

Бутылка не имеет некоторых тестовых тонкостей, которые Flask имеет (see here). Но Bottle рекомендует использовать WSGI Testing Tools вместе с обычной платформой для тестирования модулей (http://bottlepy.org/docs/dev/recipes.html#functional-testing-bottle-applications). У вас не будет доступа к синтаксису бутылки или параметрам, переданным шаблонам, и т. Д., Но вам также не нужно будет запускать отдельный сервер.

+0

см. https://github.com/keredson/boddle для упомянутых тонкостей синтаксиса бутылки :) – keredson

0

Использовать boddle для модульного тестирования, если вы хотите получить доступ к нормальному синтаксису бутылки. Пример:

import bottle, unittest 
from boddle import boddle 


@bottle.get('/woot') 
def woot(): 
    return bottle.request.params['name'] 


class TestIt(unittest.TestCase): 
    def testWoot(self): 
    with boddle(params={'name':'derek'}): 
     self.assertEqual(woot(), 'derek') 


if __name__=='__main__': 
    unittest.main() 
Смежные вопросы