Архив автора: admin

Часть 1. pytest. Первый взгляд

Каждый девелопер, для которого слова tdd, unittest, ci являются не пустыми, слышал про тестовый фраймворк pytest (он же py.test). По каким-то причинам этот тестовый фраймвор слабо освещен на просторах рунета. В ряде статей постараюсь заполнить этот пробел. Думаю, познакомившись с pytest поближе вы забудете про стандартный unittest.



Преимущества pytest

  • он простой
  • он функциональный, в коробке идет большое количество киллер фич
  • он логичный
  • он расширяемый
  • он умный, можно запускать тесты на unittest, doctest
  • код тестов меньше и проще

Ставим


pip install -U pytest
Или через easy_install
easy_install -U pytest

Или из пакета
Качаем пакет http://pypi.python.org/pypi/pytest

python pytest/setup.py install

Единственно при оффлайн установке стоит учесть что для работы pytest нужно еще 2 пакета — colorama и py

Пробуем


Забегая в перед скажу что все тестовые функции должны начинаться с префикса test_*.

# tests.py
def test_first_our_passed():
    assert True

def test_first_our_failed():
    assert False

Запустим тест в консоли py.test test.py

============================= test session starts =============================
platform win32 — Python 2.7.5 — py-1.4.20 — pytest-2.5.2
collected 2 items

tests_first.py .F

================================== FAILURES ===================================
____________________________ test_first_our_failed ____________________________

    def test_first_our_failed():
>       assert False
E       assert False

tests_first.py:6: AssertionError
===================== 1 failed, 1 passed in 0.13 seconds ======================

Из коробки получаем довольно информативный вывод


Структура проекта


Есть два устоявшихся принципа по организации тестового проекта
Все тесты находятся в папке test рядом с пакетами проекта

/myproj
    __init__.py
    project.py
/test
    test_func_1.py
    test_func_2.py

Второй вариант — папка с тестами находится в самом пакете проекта

/myproj
    __init__.py
    project.py
    /test
        test_func_1.py
        test_func_2.py

Разница не большая, а скорее дело вкуса.


Структура тестов


В принципа здесь все банально. Для рассмотрения будем использовать простой тестовый проект.

/myproj
    __init__.py
    project.py

# project.py
def pp(val):
    return val + 1

Первый принцип — все тесты описаны в виде тестовых функциях

def test_positive():
    assert pp(1) == 2

def test_negative():
    assert pp(1) == 1

Второй принцип — все тесты описаны в виде методов тестового класса

class TestProject:
    def test_positive(self):
        assert pp(1) == 2

    def test_negative(self):
        assert pp(1) == 1

На тестах данные принцип практически не сказывается.

Варианты запуска

Из коробки в pytest предусмотрено несколько вариантов запуска тестов.

Через специальную утилиту py.test.exe

py.test.exe test_project.py

В консоли через питон 

python -m «pytest.main('test directory')»

Вызов pytest в коде

if __name__ == '__main__':
    pytest.main('test_project.py')

+ никто не отменял сабпроцесс;)

Ссылки

http://pytest.org

Автор: Евгений Курочкин

Когда впервые на Земле играли в прятки…

сердце в любвиГоворят, что однажды собрались в одном уголке земли вместе все человеческие чувства и качества.

Когда СКУКА зевнула уже в третий раз, СУМАСШЕСТВИЕ предложило:

— А давайте играть в прятки!?

— ИНТРИГА приподняла бровь: — Прятки? Что это за игра?

и СУМАСШЕСТВИЕ объяснило, что один из них, например, оно, водит — закрывает глаза и считает до миллиона, в то время как остальные прячутся. Тот, кто будет найден последним, станет водить в следующий раз и так далее.

Читать

За здоровьем к стоматологу

Здоровые зубы – отличное самочувствие. Давно замечено, что у человека с не поврежденными кариесом зубами практически не бывает хронических заболеваний. Поэтому при желании чувствовать себя всегда хорошо, стоит регулярно заботиться о состоянии полости рта. Для этого необходимо не только ежедневно чистить зубы и ухаживать за ними между перекусами, применяя различные эликсиры, но и регулярно посещать кабинет стоматолога. К сожалению, некоторая часть нашего населения считает, что не обязательно обращаться к врачу, если ничего не беспокоит. Потом искренно недоумевают, почему у них так быстро редеют зубные ряды и ротовая полость регулярно нуждается в санации. А это логичный результат игнорирования профилактического осмотра. Стоматологи рекомендуют, даже если нет ощутимых проблем с зубами, обязательно надо 2 раза за год обращаться к узкому специалисту за консультацией. Стоимость стоматологических услуг сравнительно небольшая, поэтому ни у кого не вызовет проблем поход в клинику. А врач сможет детально изучить состояние зубов, слизистой и прочее, выявить начинающие очаги кариеса (если это имеется), порекомендовать эффективные методики профилактики пародонтоза (невоспалительного поражения околозубной костной ткани) и т.д. Пациенту не стоит комплексовать в стоматологическом кресле, избегая дополнительных вопросов специалисту. Если давно была какая-то проблема с деснами (они кровоточили), а зубы реагировали на холодное или горячее, хотя дырок в них нет, стоит об этом обязательно сказать врачу. Тогда он более внимательно проведет осмотр, изучит состояние мягких тканей и зубной эмали. Есть еще одна беда многих сограждан – они панически боятся лечить зубы. И хотя сейчас стоматологическая техника модернизирована, а все медицинские манипуляции проводятся безболезненно и максимально комфортно для пациентов, страх перед бормашиной сильнее прогресса. Поэтому, чтобы реже испытывать на себе последние новинки стоматологических разработок, стоит, пока зубы здоровые, посещать кабинет в профилактических целях и соблюдать все рекомендации терапевта или ортодонта. Как итог – здоровье человека зависит от многих факторов, основной из них не только наследственность, но и состояние зубов. Сберегая их смолоду, легко защитить себя от многих заболеваний в зрелости.

Опера мини для самсунга

Интернет довольно давно стал важным фактором жизни любого обывателя. Сложно представить себе хотя бы одни сутки жизни, что прошел вне сети. Как сделать так, чтобы возможность беспрепятственного доступа наличествовала где бы вы не были?

Необходимо настроить и активировать соединение в сеть со своего телефона. Но, это только полдела. Также очень необходимо забеспечить комфортное присутствие в сети.

Для этого надо стоит заметить такой интернет-браузер, а точнее выбрать эффективное решение, такое как опера мини. Читать

Его звали "Зарафа"

Это удивительное, красивое, сильное и грациозное животное появилось на Земле несколько миллионов лет назад и живёт в африканской саванне.
Каждая особь по своей природе уникальна. Дело в том, что как не повторяются отпечатки пальцев у человека, так не повторяется рисунок пятен на шкуре этого животного.
Впервые в Европу это животное по кличке «Зарафа», что означает «нарядный», завезли арабы в 1827 году. На местных диалектах кличка звучала как «Жарафа».

Теперь, когда стало понятно о ком пойдёт речь, вы согласитесь со мной, что это, действительно, удивительное по красоте животное.
В дикой природе жирафов осталось немного. На удивление они хорошо себя чувствуют в неволе и дают потомство.
Общаются жирафы, между собой издавая звуки похожие на рычание, свист, шипение или мычание, в зависимости от ситуации. Читать

C Праздником Святой Троицы!

С Троицей!С праздником Святой ТроицыСо Святой Троицей!

 Поздравляем Вас с праздником Святой Троицы!

С Зеленым праздником Лета и Радости!

Желаем Вам от всей души

Здоровья, Радости, Любви,

Улыбок, счастья хоровод

И в сердце лета круглый год!

Пусть Троица Вам помогает

Найти себя и обрести свой путь,

Пусть жизнь Любовью наполняет,

И Счастье и Богатство рядом с ней всегда идут!

Читать