dingus

Скріншот програми:
dingus
Дані програми:
Версія: 0.3.4
Дата завантаження: 14 Apr 15
Розробник: Gary Bernhardt
Ліцензія: Безкоштовно
Популярність: 76

Rating: 4.0/5 (Total Votes: 2)

Dingus ніби як макет об'єкта. Головна відмінність в тому, що ви не створили очікування заздалегідь. Ви просто запустіть свій код, використовуючи Dingus на місці іншого об'єкта або класу, і вона буде записувати те, що з ним відбувається. Потім, коли ваш код був виконаний, ви можете зробити твердження про те, що він зробив для Dingus.
Новий Dingus створюється з класу Dingus. Ви можете дати dinguses імена, які допомагає в налагодженні ваших тестів, особливо при наявності декількох dinguses в грі.
І NBSP; >>> від Dingus імпортувати Dingus
І NBSP; >>> d = Dingus ('корінь')
І NBSP; >>> d
І NBSP; <корінь Dingus>
Доступ до будь-атрибут Dingus повернеться нові Dingus.
І NBSP; >>> d.something
І NBSP;
Є кілька винятків для методів спеціальні Dingus. Ми побачимо, деякі в небагато.
Dingus також можна назвати як функції або методу. Це все одно, скільки аргументів ви даєте йому або те, що ці аргументи. Дзвінки на Dingus завжди буде повертати один і той же об'єкт, незалежно від аргументів.
І NBSP; >>> d ()
І NBSP;
І NBSP; >>> d ('аргумент')
І NBSP;
І NBSP; >>> d (55)
І NBSP;
Запис та затвердження
У будь-який час ми можемо отримати список дзвінків, які були зроблені до Dingus. Кожен запис у списку дзвінків містить:
І NBSP; * ім'я методу, названого (або "()", якщо сама Dingus називали)
І NBSP; * Аргументи, або (), якщо жоден
І NBSP; * The argumnets ключових слів, або {}, якщо жоден
І NBSP; * значення, яке було повернуто абоненту
Ось список дзвінків, які ми зробили, щоб D досі:
І NBSP; >>> від pprint pprint імпорту
І NBSP; >>> pprint (d.calls)
І NBSP; [('()', (), {}, ),
І NBSP; ('()', ('аргумент',), {}, ),
І NBSP; ('()', (55,), {}, )]
Ви можете фільтрувати дзвінки по імені, аргументи, і іменованих аргументів:
І NBSP; >>> pprint (d.calls ('()', 55))
І NBSP; [('()', (55,), {}, )]
Якщо ви не дбаєте про вартість конкретного аргументу, ви можете використовувати значення DontCare при фільтрації:
І NBSP; >>> від Dingus імпортувати DontCare
І NBSP; >>> pprint (d.calls ('()', DontCare))
І NBSP; [('()', ('аргумент',), {}, ),
І NBSP; ('()', (55,), {}, )]
Dinguses може зробити більше, ніж просто мати атрибути доступні і можна назвати. Вони підтримують безліч операторів Python. Мета полягає в тому, щоб дозволити, і записувати, будь-якої взаємодії:
І NBSP; >>> d = Dingus ('корінь')
І NBSP; >>> (2 ** d.something) ['привіт'] () / 100 * 'Foo'
І NBSP;
(Сподіваюся, ваш реальних Dingus записи не буде виглядати так!)
Внесення змін до
Dingus забезпечує менеджер контексту для виправлення об'єктів під час випробувань. Наприклад:
І NBSP; >>> від Dingus патч імпорту
І NBSP; >>> імпорту urllib2
І NBSP; >>> з патчем («urllib2.urlopen '):
І NBSP; ... друк urllib2.urlopen .__ class__
І NBSP; <клас "dingus.Dingus '>
І NBSP; >>> друку urllib2.urlopen .__ class__
І NBSP; <тип "функція">
Ви також можете використовувати це як декоратора на ваших методів випробувань:
І NBSP; >>> patch ('urllib2.urlopen')
І NBSP; ... Def test_something (само):
І NBSP; ... передача
І NBSP; ...
НЕБЕЗПЕЧНІ MAGIC
Dingus може також автоматично замінити глобальні модуля при виконанні тестів. Це дозволяє писати повністю ізольовані юніт-тестів. Дивіться приклади / urllib2 / test_urllib2.py для прикладу. НЕ автор уже не рекомендує цю функцію, так як це може сприяти дуже крихкі тести. Ви повинні відчувати біль вручну глузливі залежностей; . Біль скаже вам, коли клас співпрацює з дуже багатьма іншими

Вимоги

  • Python

Схожі програми

pytest-timeout
pytest-timeout

20 Feb 15

Pulse
Pulse

20 Feb 15

Embedded Profiler
Embedded Profiler

17 Feb 15

PyModel
PyModel

11 May 15

Інші програми розробника Gary Bernhardt

expecter
expecter

20 Feb 15

dingus

Коментар не знайдено
додати коментар
Включіть картинки!