Напишите модульные тесты для отдыха в Python - PullRequest
1 голос
/ 14 июля 2009

Я пишу RESTful API в Python, используя restish framework. Я хотел бы написать несколько модульных тестов (например, с использованием пакета unittest), которые будут выполнять различные запросы к моему приложению и проверять результаты. Модульные тесты должны быть в состоянии работать как есть, без необходимости запуска отдельного процесса веб-сервера. Как мне установить фиктивную среду, используя restish для этого?

Спасибо

Ответы [ 3 ]

1 голос
/ 14 июля 2009

Поскольку restish является платформой WSGI, вы можете воспользоваться любым из нескольких инструментов тестирования WSGI:

По крайней мере, некоторые из этих инструментов, такие как Twill, должны иметь возможность протестировать ваше приложение без запуска отдельного веб-сервера. (Например, для получения более подробной информации см. Ссылку « Тестирование приложений WSGI с Twill ».)

Возможно, вы захотите спросить в оставшемся форуме / списке, есть ли у них предпочтительный инструмент для такого типа вещей.

1 голос
/ 15 июля 2009

Restish имеет встроенный класс TestApp, который можно использовать для тестирования приложений для восстановления. Предполагая, что у вас есть «test» dir в вашем проекте callte restish root «restest», созданный с paster .

import os
import unittest
from paste.fixture import TestApp

class RootTest (unittest.TestCase):

  def setUp(self):
    self.app = TestApp('config:%s/../development.ini' % os.path.dirname(os.path.abspath(__file__)))

  def tearDown(self):
    self.app = None

  def test_html(self):
    res = self.app.get('/')
    res.mustcontain('Hello from restest!')

if __name__ == '__main__':
    unittest.main()
1 голос
/ 14 июля 2009

Я тестирую все, используя WebTest и NoseTests , и я настоятельно рекомендую это. Это быстро, гибко и легко настроить. Просто передайте ей свою функцию wsgi, и все готово.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...