Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 280

Trying:

just_do_it("I'm fresh out of ideas")

Expecting:

"I'm Fresh Out Of Ideas"

ok

1 items had no tests:

__main__

1 items passed all tests:

3 tests in __main__.just_do_it

3 tests in 2 items.

3 passed and 0 failed.

Test passed.

Пакет nose

Сторонний пакет nose (https://nose.readthedocs.org/en/latest/) — это еще одна альтер-

натива пакету unittest. Команда, позволяющая установить его, выглядит так:

$ pip install nose

360

Глава 12. Быть питонщиком

Вам не нужно создавать класс, который содержит тестовые методы, как мы

делали при работе с unittest. Любая функция, содержащая в своем имени слово

test, будет запущена. Модифицируем нашего последнего тестировщика Unittest

и сохраним его под именем test_cap_nose.py:

import cap

from nose.tools import eq_

def test_one_word():

text = 'duck'

result = cap.just_do_it(text)

eq_(result, 'Duck')

def test_multiple_words():

text = 'a veritable flock of ducks'

result = cap.just_do_it(text)

eq_(result, 'A Veritable Flock Of Ducks')

def test_words_with_apostrophes():

text = "I'm fresh out of ideas"

result = cap.just_do_it(text)

eq_(result, "I'm Fresh Out Of Ideas")

def test_words_with_quotes():

text = "\"You're despicable,\" said Daffy Duck"

result = cap.just_do_it(text)

eq_(result, "\"You're Despicable,\" Said Daffy Duck")

Запустим тесты:

$ nosetests test_cap_nose.py

...F

======================================================================

FAIL: test_cap_nose.test_words_with_quotes

----------------------------------------------------------------------

Traceback (most recent call last):

File "/Users/.../site-packages/nose/case.py", line 198, in runTest

self.test(*self.arg)

File "/Users/.../book/test_cap_nose.py", line 23, in test_words_with_quotes