Есть ли в Django инструменты тестирования BDD, сравнимые с инструментами тестирования Rails?

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

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

15
задан elad silver 26 July 2016 в 09:34
поделиться

3 ответа

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

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

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

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

17
ответ дан 1 December 2019 в 03:23
поделиться

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

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

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

1
ответ дан 1 December 2019 в 03:23
поделиться

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

0
ответ дан 1 December 2019 в 03:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: