Speccer є специфікація перевірка на основі претендентом на Python.
Speccer надає прості засоби для перевірки окремих модулів. Він використовує мінімальне, синтаксис стверджувати безкоштовно. Цей синтаксис компілюється в реальний код з використанням UnitTest Пайтона. Відтепер Speccer може розглядатися як альтернатива до нього в різних ситуаціях.
Запустіть "setup.py встановити", щоб почати гойдання. См папку "Демо" для реального прикладу. Після того, як ви встановили інструмент просто дати команду "speccer" в цьому каталозі. Ви повинні побачити деякі результати випробувань. Не соромтеся посмикати файли, щоб дати йому належне рух.
Основні специфікації синтаксису
Специфікація модуль може виглядати приблизно так:
myclass.spec: (випробувань myclass.py)
І NBSP; налаштувати
І NBSP; с = myclass.MyClass ()
І NBSP; додає два і два
І NBSP; c.add (2,2) == 4
І NBSP; додає негативу
& NBSP; c.add (10, -10) == 0
І NBSP; не вдається, додавши Int і струнного
І NBSP; c.add (10, 'Foo') піднімає TypeError
Це виглядає досить багато, як і будь-який інший тест ви, можливо, бачили раніше. Синтаксис може бути трохи світліше, хоча. В якості тестової автора ви можете зосередитися на суттєвих при написанні затвердження. Крім того, це трохи приємніше читати цей шлях.
Зверніть увагу, що це можливо, щоб змішати звичайний код на Python в тестах. Це може не спрацювати у всіх випадках, хоча і мають бути представлені.
"Налаштувати" є визначеним метод тест, який виконується перед кожним специфікації. Таким чином, ви можете налаштувати деякі об'єкти, які доступні для кожного тесту.
Кожна специфікація містить ім'я та деякі фактичні коду, стверджуючи, щось. Я перерахував наявні нижче твердження:
І NBSP; ==, дорівнює
І NBSP ;! =, Не дорівнює
І NBSP; ~ =, практично дорівнює
І NBSP ;! ~ =, не є майже дорівнює
І NBSP;>, більше, ніж
І NBSP;> =, менше або дорівнює
І NBSP; <, менше, ніж
І NBSP; <=, менше або дорівнює
І NBSP; х <у <г, кілька нерівностей (змішати з рівністю, як ви хочете)
Ці твердження безпосередньо перетворюються з них доступні в UnitTest модуля в Python. Якщо хтось із тих, здатися дивним для вас, см http://docs.python.org/library/unittest.html.
Requirements:
- Python
Коментар не знайдено