Ćwiczenie BDD z Pythonem [zamknięte]
Jakie są najbardziej zaawansowane frameworki i narzędzia dostępne dla Pythona do praktykowania Behavior Driven Development? Szczególnie znalezienie podobnych narzędzi jak rspec i mocha dla ruby byłoby świetne.
10 answers
Ian Bicking zaleca użyciedoctest do behavior driven design:
Osobiście używam nose i voidspace mock w stylu behavior driven design. W szczególności wtyczka spec dla nose jest doskonała dla BDD.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-08 14:36:30
Sałata czyli ogórkowe narzędzie do Pythona: http://lettuce.it/
Możesz pobrać źródło na github.com/gabrielfalcao/lettuce
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-05 23:20:18
Naprawdę polecam zachowuj się .
Szukając klonu ogórka do Pythona, zacząłem używać sałaty, ale znalazłem ją dość niezdarnie zaprojektowaną repliką. Bardzo Niepytoniczne.
Potem odkryłam, że jestem z tego bardzo zadowolona.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-18 14:23:39
Zalecam korzystanie z zestawu narzędzi opracowanych, aby pomóc programistom w praktyce BDD i TDD. Ten zestaw narzędzi składa się z: pycukes, specloud, ludibrio i powinny-dsl.
Should-DSL da ci oczekiwania podobne do RSpec. Wszystko, co możesz zrobić z RSpec expectation API, powinno-dsl też. Możesz pobrać latestversion z Github.
SpecLoud pomaga w prowadzeniu testów podobnych do BDD. Ty można go zainstalować wykonując
pip install specloud
Ludibrio jest biblioteką dla dublerów testowych (Mocks, Stubs i Dummies). Install it via
pip install ludibrio
I PyCukes jest głównym narzędziem dla BDD. Będzie uruchamiać scenariusze itp. Again,
pip install pycukes
Aby uzyskać więcej informacji, zapoznaj się z dokumentacją narzędzi na PyPi.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-15 13:02:30
Świetny post i odpowiedzi. Chciałem tylko zaktualizować, aby włączyć odświeżyć na tej liście, jak czytałem pycukes jest wycofany. Dobry post o używaniu BDD i Django z Freshen jest Tutaj .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-23 00:28:42
Możesz użyć "sure" dla twierdzeń ekspresyjnych (tak jak w RSpec)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-08 07:17:40
Projekt Pyccuracy jest próbą zapewnienia specyficznego dla domeny języka BDD w Pythonie.
W przeciwieństwie do doctest, który działa na poziomie API, koduje operacje wyższego poziomu, takie jak ładowanie strony internetowej i przesyłanie formularza. Nie używałem go, ale wygląda obiecująco, jeśli tego szukasz.
Lubię Pyccuracy bardzo. Realizuję je w ramach projektu średniej wielkości.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-22 16:55:05
Wypróbuj pyspecs . Uczynienie testów łatwymi do odczytania i ciągłe ich uruchamianie w trakcie tworzenia to dwa z moich głównych celów w tworzeniu tego projektu.
Kod Badania:
from pyspecs import given, when, then, and_, the, this
with given.two_operands:
a = 2
b = 3
with when.supplied_to_the_add_function:
total = a + b
with then.the_total_should_be_mathmatically_correct:
the(total).should.equal(5)
with and_.the_total_should_be_greater_than_either_operand:
the(total).should.be_greater_than(a)
the(total).should.be_greater_than(b)
with when.supplied_to_the_subtract_function:
difference = b - a
with then.the_difference_should_be_mathmatically_correct:
the(difference).should.equal(1)
Wyjście Konsoli:
# run_pyspecs.py
| • given two operands
| • when supplied to the add function
| • then the total should be mathmatically correct
| • and the total should be greater than either operand
| • when supplied to the subtract function
| • then the difference should be mathmatically correct
(ok) 6 passed (6 steps, 1 scenarios in 0.0002 seconds)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-19 03:48:04
Prawdopodobnie całkowicie nie rozumiem tego, ale to, co zachowałem z oryginalnego papieru BDD, to to, że BDD było po prostu TDD przepakowane, aby podkreślić kilka najlepszych praktyk.
Jeśli moja interpretacja jest poprawna, możesz uzyskać framework BDD po prostu zmieniając nazwy metod w dowolnej xUnit implementacji. Więc po prostu użyj standardowej biblioteki unittest.
EDIT: a quick google turned up a Behaviour module in the Cheese Sklep . Dalsze wyszukiwanie dla BDD nie znaleziono nic innego.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-23 21:19:06