Есть ли в Django инструменты тестирования BDD, сравнимые с инструментами тестирования Rails? - PullRequest
15 голосов
/ 05 августа 2010

Ruby / Rails пользуются некоторыми действительно хорошими и мощными средами тестирования, основанными на поведении и разработке, такими как Cucumber и RSpec .

Наслаждается ли Python / Django тем же (я не говорю о простом модульном тестировании, таком как PyUnit)?

Ответы [ 5 ]

17 голосов
/ 07 августа 2010

Существует новый инструмент под названием Салат , который обещает стать Pythonic версией Cucumber. Это начинается с интеграции Django. Это плюс существующие инструменты тестирования в Django делают его довольно хорошим для модульного тестирования.

Существует также инструмент под названием Windmill , который предоставляет надежный инструмент для тестирования на основе браузера для создания тестов GUI. Соедините это с инструментом вроде салата для написания приемочных тестов и прямыми тестами unittest и , и я бы сказал, что вы настроены.

Следует помнить, что в Ruby и Python немного другая культура. Ruby предпочитает тесты превыше всего. В Python это документация. Таким образом, в Python нет миллиона и одной среды тестирования, только несколько действительно надежных со случайным выбросом (например, салат).

Надеюсь, это поможет.

3 голосов
/ 09 сентября 2015

на тот случай, если кто-то все еще посещает здесь, Алоэ , это обновление салата и имеет интеграцию для django 1.8.Я начинаю использовать его сейчас.

1 голос
/ 22 марта 2012

Я работаю с Robot Test Framework http://code.google.com/p/robotframework/. Это универсальная среда автоматизации тестирования для приемочного тестирования и разработки, основанной на приемочных испытаниях (ATDD).

Это гибкий и мощный инструмент, который также позволяетСтиль BDD похож на салат / огурец.

1 голос
/ 05 августа 2010

Если вы имеете в виду высокоуровневое тестирование, а не модульное тестирование, то вы все равно можете использовать огурец. Cucumber может быть соединен с Webrat и Mechanize, и вы можете использовать эту настройку для написания историй для тестирования вашего приложения Django. У меня есть такая установка. Вы также можете подключить Cucumber к Watir и проводить тестирование на основе браузера.

Нет ничего похожего на FactoryGirl для автоматической генерации данных для вашей модели, но вы можете использовать приборы Django для создания исходных данных для вашей модели и устанавливать их только в режиме тестирования. Затем вы можете начать тестирование и получить данные для тестирования.

С этими вещами вы можете настроить довольно полный набор тестов высокого уровня. Затем вы можете использовать модульный тест Django для тестирования низкого уровня.

0 голосов
/ 05 августа 2010

У меня был хороший опыт работы с TestBrowser, который позволяет писать функциональные тесты на высоком уровне.См. http://pypi.python.org/pypi/homophony для интеграции TestBrowser с Django.

...