Pull to refresh

Comments 4

Приятно читать такие статьи. Кратко, но достаточно подробно.
Мне лично не хватило строчки как запускать такие тесты. Но это легко находится на главной странице летюза:
user@machine:~/Projects/my-project$ lettuce features/

Спасибо
Если вы тестируете django проект, то после установки в него lettuce, у вас есть возможность запустить тесты с помощью команды
user@machine:~/Projects/my-project$ python manage.py harvest


У этой команды много очень полезных опций запуска, например:
-T — использует тестовую базу данных django (как в встроенных модульных тестах)
-S — не использует django dev-server при прогоне тестов, т.е. вы можете использовать копию вашего реального сервера для тестов (или сам реальный сервер)

Более подробно описано в документации. Хотя там вроде не все команды указаны, так что лучше лишний раз поискать в исходниках, благо они очень хорошо написаны и это не займет много времени
Хороший Getting started на русском языке.
Я бы порекомендовал добавить в статью пару слов что это все же фреймворк для написания BDD тестов.
И судя по отсутствию Given\When\Then это не-keyword driven разновидность.
Так же было бы здорово написать поподробнее про интеграцию с Django,
как это работает, зачем это нужно и какие профиты можно с этого поиметь…
Еще бы хотелось поподробнее про передачу объектов между шагами,
а в идеале как прикрутить какой нибудь dependency injection фреймворк…
Профиты от интеграции с django можно перечислять бесконечно, но по-моему основным является работа с БД. Такой подход может быть неправильным в ряде клиентских тестов, но иногда гораздо быстрее бывает поменять значение поля у какого-нибудь объекта с помощью django, чем прогонять дополнительный десяток действий.

По поводу зависимостей: готовых решений я не видел. Но есть замечательный объект world, который lettuce везде за собой таскает, в который можно складывать всю нужную информацию.
Sign up to leave a comment.

Articles