У меня есть некоторые конечные точки API, которые мне нужно проверить, и я не уверен, с чего начать. Я использую среду Bottle, и один из методов, которые я тестирую, считывает параметр из запроса. Как имитировать это в тестовой среде?Как выполнить модульный тест с использованием рамки для бутылок
ответ
Бутылка не имеет некоторых тестовых тонкостей, которые Flask имеет (see here). Но Bottle рекомендует использовать WSGI Testing Tools вместе с обычной платформой для тестирования модулей (http://bottlepy.org/docs/dev/recipes.html#functional-testing-bottle-applications). У вас не будет доступа к синтаксису бутылки или параметрам, переданным шаблонам, и т. Д., Но вам также не нужно будет запускать отдельный сервер.
см. https://github.com/keredson/boddle для упомянутых тонкостей синтаксиса бутылки :) – keredson
Использовать 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()
Такая же проблема здесь. Вы нашли хорошее решение? – koloman
У меня на самом деле. Вы можете использовать веб-тест, чтобы делать все, что вам нужно. http://docs.pylonsproject.org/projects/webtest/en/latest/ – Brandon